Comment retrouver la dernière ligne, colonne et cellule ?

Pour trouver la dernière ligne, colonne ou cellule, vous pouvez utiliser la propriété « Fin » de la plage. La propriété end vous permet de naviguer jusqu’à la fin de la plage de données (jusqu’à la dernière cellule qui n’est pas vide). Avec cela, il existe des constantes que vous pouvez utiliser pour décider dans quelle direction vous souhaitez naviguer (haut, bas, gauche ou droite).

Utiliser VBA pour trouver la dernière ligne dans Excel

  1. Définissez la cellule ou la plage à partir de laquelle vous souhaitez naviguer jusqu’à la dernière ligne.
  2. Après cela, entrez un point pour obtenir la liste des propriétés et des méthodes.
  3. Sélectionnez ou tapez « Fin » et entrez une parenthèse de début.
  4. Utilisez l’argument que vous souhaitez utiliser.
  5. De plus, utilisez la propriété address pour obtenir l’adresse de la cellule.
MsgBox Range("A1").End(xlDown).Address

Lorsque vous exécutez le code ci-dessus, il vous affiche une boîte de message avec le numéro de ligne de la dernière cellule non vide.

utiliser vba pour trouver la dernière ligne

Trouver la dernière colonne à l’aide de VBA

Maintenant, disons que vous voulez trouver la dernière colonne. Dans ce cas, au lieu d’utiliser la constante « xlDown », vous devez utiliser le « xlRight », et si vous voulez sélectionner cette cellule au lieu d’avoir l’adresse, vous pouvez utiliser la méthode « select ». Considérez la méthode suivante.

Range("A1").End(xlToRight).Select
utiliser vba pour trouver la dernière colonne

Trouver la dernière cellule

En utilisant la même méthode, vous pouvez également obtenir la dernière cellule qui est une cellule non vide. Pour écrire ce code, vous devez connaître la dernière ligne et la dernière colonne.

Sub vba_last_row()

  Dim lRow As Long
  Dim lColumn As Long

  lRow = Range("A1").End(xlDown).Row
  lColumn = Range("A1").End(xlToRight).Column

  Cells(lRow, lColumn).Select

End Sub
trouver la dernière cellule

Pour comprendre le code ci-dessus, nous devons le diviser en trois parties.

code pour trouver la dernière ligne et colonne
  1. Dans la PREMIÈRE partie, vous avez déclaré deux variables pour stocker le numéro de ligne et le numéro de colonne.
  2. Dans la DEUXIÈME partie, vous avez utilisé « End » avec le « xlDown » puis la propriété Row pour obtenir le numéro de ligne du dernier, et de la même manière, vous avez utilisé le « End » avec le « xlToRight » puis la propriété « Colonne » pour obtenir le numéro de colonne de la dernière colonne.
  3. Dans la TROISIÈME partie, en utilisant le dernier numéro de colonne et le dernier numéro de ligne, faites référence à la dernière cellule et sélectionnez-la.

Remarque : Si vous souhaitez sélectionner une cellule dans les différentes feuilles de calcul à l’aide de la méthode de la dernière ligne et de la dernière colonne, vous devez d’abord activer cette feuille de calcul .

Dernière ligne, colonne et cellule à l’aide de la méthode Find

Vous pouvez également utiliser la méthode find avec l’objet range pour obtenir la dernière ligne, colonne et cellule de la feuille de calcul. Pour connaître le numéro de ligne, voici le code :

Sub vba_last_row()

Dim iRow As Long

iRow = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row

MsgBox iRow

End Sub

Pour le numéro de colonne :

Sub vba_last_row()

Dim iColumn As Long

iColumn = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Column

MsgBox iColumn

End Sub

Pour obtenir l’adresse de cellule de la dernière cellule.

Sub vba_last_row()

Dim iColumn As Long
Dim iRow As Long

iColumn = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Column                  

iRow = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row                   

Cells(iRow, iColumn).Address

End Sub

Ajouter un commentaire

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