Comment utiliser la propriété UsedRange dans VBA ?

Dans VBA, la propriété UsedRange représente la plage d’une feuille de calcul contenant des données. La plage utilisée commence à partir de la première cellule de la feuille de calcul où vous avez une valeur jusqu’à la dernière cellule où vous avez une valeur. Tout comme l’exemple suivant où vous avez utilisé la plage de A1 à C11.

propriété de plage utilisée

Remarque : La propriété UsedRange est une propriété en lecture seule .

Écrire un code avec UsedRange

Utilisez le code suivant.

  1. Tout d’abord, vous devez spécifier la feuille de calcul.
  2. Entrez ensuite un point (.) et entrez « UsedRange ».
  3. Après cela, utilisez la propriété ou la méthode que vous souhaitez utiliser.
  4. À la fin, exécutez le code.
Sub vba_used_range()
    ActiveSheet.UsedRange.Clear
End Sub

Le code ci-dessus efface tout de la plage utilisée de la feuille active.

Copier la plage utilisée

Utilisez le code suivant pour copier l’intégralité de UsedRange.

copier toute la plage utilisée
Sub vba_used_range()

    ActiveSheet.UsedRange.Copy

End Sub

Compter les lignes et les colonnes dans la plage utilisée

Il existe une propriété count que vous pouvez utiliser pour compter les lignes et les colonnes de la plage utilisée.

MsgBox ActiveSheet.UsedRange.Rows.Count
MsgBox ActiveSheet.UsedRange.Columns.Count

Les deux lignes de code ci-dessus affichent une boîte de message avec le nombre de lignes et de colonnes que vous avez dans la plage utilisée.

Activer la dernière cellule de la plage utilisée

Vous pouvez également activer la dernière cellule de la plage utilisée (ce serait la dernière cellule utilisée dans la feuille de calcul). Considérez le code suivant.

dernière cellule active de la plage utilisée
Sub vba_used_range()

Dim iCol As Long
Dim iRow As Long

iRow = ActiveSheet.UsedRange.Rows.Count
iCol = ActiveSheet.UsedRange.Columns.Count

ActiveSheet.UsedRange.Select
Selection.Cells(iRow, iCol).Select

End Sub

Ce code prend le nombre de lignes et de colonnes à l’aide de la propriété UsedRange, puis utilise ces nombres pour sélectionner la dernière cellule de la plage utilisée.

Reportez-vous à UsedRange dans une autre feuille de calcul

Si vous essayez de vous référer à la plage utilisée dans une feuille de calcul autre que la feuille active, VBA affichera une erreur comme celle-ci.

plage utilisée dans une autre feuille de calcul

Ainsi, la feuille de calcul à laquelle vous faites référence doit être activée (seulement alors vous pouvez utiliser la propriété UsedRange).

Sub vba_used_range()

    Worksheets("Sheet4").Activate
    Worksheets("Sheet4").UsedRange.Select

End Sub

Cela signifie que vous ne pouvez pas faire référence à la plage utilisée dans un classeur fermé. Mais vous pouvez d’abord ouvrir un classeur, puis activer la feuille de calcul pour utiliser la propriété UsedRange.

Obtenir l’adresse de la plage utilisée

Utilisez la ligne de code suivante pour obtenir l’adresse de la plage utilisée.

Sub vba_used_range()

 MsgBox ActiveSheet.UsedRange.Address

End Sub

Compter les cellules vides de la plage utilisée

Le code suivant utilise les boucles FOR (For Each) et parcourt toutes les cellules de la plage utilisée et compte les cellules vides.

Sub vba_used_range()

Dim iCell As Range
Dim iRange As Range
Dim c As Long
Dim i As Long

Set iRange = ActiveSheet.UsedRange

For Each iCell In ActiveSheet.UsedRange

    c = c + 1

    If IsEmpty(iCell) = True Then
        i = i + 1
    End If

Next iCell

MsgBox "There are total " & c & _
" cell(s) in the range, and out of those " & _
i & " cell(s) are empty."

End Sub

Lorsque vous exécutez ce code, il affiche une boîte de message avec le nombre total de cellules et le nombre de cellules vides.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *