VBA Fin de plage – Range.End (xlDown, xlUp, xlToRight, xlToLeft)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel vous montre comment utiliser la propriété Range.End en VBA.

La plupart des choses que vous faites manuellement dans un classeur ou une feuille de calcul Excel peuvent être automatisées en code VBA.

Si vous avez une plage de cellules non vierges dans Excel et que vous appuyez sur Ctrl+Flèche vers le bas, votre curseur se déplacera vers la dernière cellule non vierge de la colonne dans laquelle vous vous trouvez. De même, si vous appuyez sur Ctrl+Flèche vers le haut, votre curseur se déplacera vers la première cellule non vide. Il en va de même pour une ligne : utilisez les touches Ctrl+flèche droite ou Ctrl+flèche gauche pour aller au début ou à la fin de cette ligne. Toutes ces combinaisons de touches peuvent être utilisées dans votre code VBA à l’aide de la fonction End de l’objet Range.

Syntaxe de la Propriété Range End

La propriété Range.End vous permet de vous déplacer vers une cellule spécifique de la région actuelle avec laquelle vous travaillez.

expression.End (Direction)

l’expression est l’adresse de la cellule (Plage) de la cellule à partir de laquelle vous souhaitez commencer, par ex : Range(« A1 »)

END est la propriété de l’objet Range contrôlé.

Direction est la constante Excel que vous pouvez utiliser. Il y a 4 choix possibles – xlDown, xlToLeft, xlToRight et xlUp.

Déplacement Vers la Dernière Cellule

La procédure ci-dessous vous permet de vous déplacer vers la dernière cellule de la région actuelle des cellules dans laquelle vous vous trouvez.

Sub AllerÀLaDernièreCellule()
    'Déplacement vers la dernière cellule de la région actuelle
    Range("A1").End(xlDown).Select
End Sub

Compter des Rangées

La procédure suivante vous permet d’utiliser la constante xlDown avec la propriété Range End pour compter le nombre de lignes de votre région actuelle.

Sub TrouverDernièreLigneDeLaPlage()
    Dim rg As Long
    Range("A1").Select
   
    'Obtient la dernière rangée de la région
    rg = Range("A1").End(xlDown).Row
   
    'Affiche combien de rangée sont utilisée dans la région
    MsgBox "La dernière rangée utilisée dans cette plage est " & rg
   
End Sub

Tandis que celle ci-dessous comptera les colonnes dans la plage en utilisant la constante xlToRight.

Sub TrouverDernièreColonneDeLaPlage()
    Dim col As Long
    Range("A1").Select
   
    'Obtient la dernière colonne de la région
    col = Range("A1").End(xlToRight).Column
   
    'Affiche combien de colonnes sont utilisée dans la région
    MsgBox "La dernière colonne utilisée dans cette plage est " & col
   
End Sub

Création d’un Tableau de Plage

La procédure ci-dessous nous permet de commencer par la première cellule d’une plage, puis d’utiliser la propriété End(xlDown) pour trouver la dernière cellule de la plage de cellules. Nous pouvons ensuite redimentionner notre tableau avec le nombre total de lignes de la plage, ce qui nous permet de boucler la plage de cellules.

Sub PopulerTableau()
'Déclaration du tableau
   Dim strSuppliers() As String
'Déclaration de l'entier qui servira à compter
   Dim n As Integer
'Compte les rangées
   n = Range("B1", Range("B1").End(xlDown)).Rows.Count
'Initialise le tableau
   ReDim strClients(n)
'Déclaration de l'entier qui servira d'itérateur dans la boucle
   Dim i As Integer
'Popule le tableau avec les valeurs de la plage
   For i = 0 To n
     strClients(i) = Range("B1").Offset(i, 0).Value
   Next i
'Affiche les données du tableau dans une boite de message
   MsgBox Join(strClients, vbCrLf)
End Sub

Lorsque nous exécutons cette procédure, elle renvoie la boîte de message suivante.

vba end array

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA