VBA utilisé

UsedRange, comme son nom l'indique, sont les plages qui, en tant que types de valeurs, les cellules vides ne sont pas incluses dans les plages utilisées, donc dans VBA Les plages utilisées sont la propriété de l'objet plage dans VBA pour ces plages de cellules dans des lignes et des colonnes qui ne sont pas vides et qui contiennent des valeurs.

UsedRange dans VBA Excel

Le UsedRange dans VBA est une propriété de la feuille de calcul qui renvoie un objet de plage représentant la plage utilisée (toutes les cellules Excel utilisées ou remplies dans une feuille de calcul) sur une feuille de calcul particulière. C'est une propriété représentant la zone couverte ou délimitée par la cellule utilisée en haut à gauche et la dernière cellule utilisée à droite dans une feuille de calcul.

Nous pouvons décrire «Cellule utilisée» comme une cellule contenant n'importe quelle formule, formatage, valeur, etc. Nous pouvons également sélectionner la dernière cellule utilisée en appuyant sur les touches CTRL + FIN du clavier.

Voici une illustration d'un UsedRange dans une feuille de calcul:

Nous pouvons voir dans la capture d'écran ci-dessus que le UsedRange est A1: D5.

Exemples de propriété Excel VBA UsedRange

Regardons quelques exemples ci-dessous pour voir comment la propriété UsedRange dans une feuille de calcul peut être utilisée pour trouver la plage utilisée dans VBA:

Vous pouvez télécharger ce modèle Excel VBA UsedRange ici - Modèle Excel VBA UsedRange

Exemple 1

Disons que nous avons un fichier Excel contenant deux feuilles de calcul, et que nous souhaitons trouver et sélectionner la plage utilisée sur Sheet1.

Voyons ce que contient la feuille Sheet1:

Nous utilisons la propriété UsedRange dans la fenêtre immédiate de VBA pour accomplir cette tâche. La fenêtre immédiate VBA est un outil qui permet d'obtenir des informations sur les fichiers Excel, d'exécuter ou de déboguer rapidement tout code VBA, même si l'utilisateur n'écrit aucune macros. Il se trouve dans Visual Basic Editor et est accessible comme suit:

  • Accédez à l'onglet Développeur Excel, puis cliquez sur Visual Basic Editor ou appuyez sur Alt + F11 pour ouvrir la fenêtre Visual Basic Editor.

En faisant cela, une fenêtre s'ouvre comme suit:

  • Appuyez sur Ctrl + G pour ouvrir la fenêtre immédiate et tapez le code.

La fenêtre immédiate ressemble à:

  • Le code suivant sélectionnera la plage utilisée sur Sheet1

Code:

? Worksheets ("Sheet1"). Activer True? ActiveSheet.UsedRange.Select True

La première instruction du code activera la feuille Sheet1 du fichier et la seconde instruction sélectionnera la plage utilisée dans cette feuille active.

En écrivant ce code, nous voyons que la plage utilisée dans Sheet1 est sélectionnée comme suit:

Exemple # 2

Maintenant, disons dans cet exemple que nous souhaitons trouver le nombre total de lignes utilisées dans Sheet1.Pour ce faire, nous suivons les étapes ci-dessous:

  • Créez un nom de macro dans le module.

Code:

 Sous TotalRows () End Sub 

  • Définissez la variable TotalRow comme Integer dans VBA:

Code:

 Sous TotalRows () Dim TotalRow As Integer End Sub 

  • Attribuez maintenant la variable TotalRow avec la formule pour calculer un nombre total de lignes:

Code:

 Sous TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub 

  • Maintenant, la valeur résultante de TotalRow peut être affichée et renvoyée à l'aide d'une boîte de message VBA (MsgBox) comme suit:

Code:

 Sub TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub 

  • Maintenant, nous exécutons ce code manuellement ou en appuyant sur F5, et nous obtenons le nombre total de lignes utilisées dans Sheet1 affiché dans une boîte de message comme suit:

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que '5' est renvoyé dans la boîte de message, et comme nous pouvons le voir dans Sheet1, le nombre total de lignes dans la plage utilisée est de 5.

Exemple # 3

De même, si nous souhaitons trouver le nombre total de colonnes utilisées dans Sheet1, nous suivrons les mêmes étapes que ci-dessus sauf pour un léger changement dans le code comme suit:

Code:

 Sub TotalCols () Dim TotalCol As Integer TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub 

Maintenant, lorsque nous exécutons ce code manuellement ou en appuyant sur F5, nous obtenons le nombre total de colonnes utilisées dans Sheet1 affiché dans une boîte de message comme suit:

Ainsi, '4' est renvoyé dans la boîte de message, et comme nous pouvons le voir dans Sheet1, un nombre total de colonnes dans la plage utilisée est de 4.

Exemple # 4

Maintenant, disons que nous souhaitons trouver le dernier numéro de ligne et de colonne utilisé dans la feuille Sheet2 du fichier. Voyons ce que contient le Sheet2:

Pour ce faire, nous suivons les étapes ci-dessous:

  • Créez un nom de macro dans le module.

Code:

 Sub LastRow () End Sub 

  • Définissez la variable LastRow comme Integer.

Code:

 Sub LastRow () Dim LastRow As Integer End Sub 

  • Attribuez maintenant la variable LastRow avec la formule pour calculer le dernier numéro de ligne utilisé:

Code:

 Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row End Sub 

La méthode SpecialCells dans Excel VBA renvoie un objet de plage qui représente uniquement les types de cellules spécifiés. La syntaxe de la méthode SpecialCells est:

RangeObject.SpecialCells (Type, Valeur)

Dans le code ci-dessus, xlCellTypeLastCell: représente la dernière cellule de la plage utilisée.

Remarque: «xlCellType» inclura même des cellules vides dont le format par défaut de l'une de leurs cellules a été modifié.
  • Maintenant, la valeur résultante du numéro LastRow peut être affichée et renvoyée à l'aide d'une boîte de message (MsgBox) comme suit:

Code:

 Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub 

  • Maintenant, nous exécutons ce code manuellement ou en appuyant sur F5, et nous obtenons le dernier numéro de ligne utilisé dans Sheet2 affiché dans une boîte de message comme suit:

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que `` 12 '' est renvoyé dans la boîte de message, et comme nous pouvons le voir dans Sheet2, le dernier numéro de ligne utilisé est 12.

De même, si nous souhaitons trouver le dernier numéro de colonne utilisé dans Sheet2, nous suivrons les mêmes étapes que ci-dessus sauf pour un léger changement dans le code comme suit:

Code:

 Sub LastCol () Dim LastCol As Integer LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Column MsgBox LastCol End Sub 

Maintenant, lorsque nous exécutons ce code manuellement ou en appuyant sur F5, nous obtenons le dernier numéro de colonne utilisé dans Sheet2 affiché dans une boîte de message comme suit:

Ainsi, nous pouvons voir dans la capture d'écran ci-dessus que '3' est renvoyé dans la boîte de message, et comme nous pouvons le voir dans Sheet2, le dernier numéro de colonne utilisé est 3.

Choses à retenir sur VBA UsedRange

  • VBA UsedRange est une plage de rectangles.
  • VBA UsedRange comprend des cellules contenant des données ou en cours de formatage, etc.
  • Excel VBA UsedRange n'inclut pas nécessairement la cellule supérieure gauche de la feuille de calcul.
  • UsedRange ne considère pas nécessairement la cellule active comme utilisée.
  • UsedRange peut être utilisé pour trouver la dernière ligne utilisée dans VBA et pour réinitialiser la plage utilisée, etc.
  • Appuyez sur les touches de raccourci Excel CTRL + MAJ + ENTRÉE sur un clavier pour étendre la sélection d'une cellule active à la dernière cellule utilisée dans une feuille de calcul.