Trouver la dernière ligne de données d'une plage à l'aide de macros Excel VBA (7 méthodes)

  • Partage Ça
Hugh West

Lorsque vous travaillez avec Microsoft Excel, la recherche des dernières lignes ou colonnes est une tâche courante. Nous utilisons le clavier pour trouver les dernières lignes ou colonnes utilisées. Mais vous pouvez vous trouver dans une situation où vous devez trouver la dernière ligne utilisée dans un ensemble de données complexe. Dans ce tutoriel, vous apprendrez à trouver la dernière ligne avec des données dans une plage en utilisant VBA dans Excel avec des exemples pratiques et des illustrations appropriées.

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices.

Trouver la dernière ligne utilisée dans une plage.xlsm

7 méthodes pour trouver la dernière ligne de données d'une plage à l'aide de macros Excel VBA

Dans les sections suivantes, nous allons vous présenter sept méthodes qui vous aideront à trouver la dernière ligne contenant des données dans une plage en utilisant VBA dans Excel. Nous vous recommandons d'apprendre et d'appliquer toutes ces méthodes pour enrichir vos connaissances d'Excel.

📕 Lire la suite : Trouver la dernière cellule avec une valeur dans une rangée dans Excel (6 méthodes)

Pour démontrer ce tutoriel, nous allons utiliser cet ensemble de données :

Nous disposons ici d'un jeu de données contenant des informations sur les joueurs, que nous utiliserons pour vous enseigner toutes les méthodes.

Ouvrir l'éditeur VBA

Avant de commencer, nous vous rappelons simplement d'ouvrir l'éditeur VBA dans Excel.

D'abord, appuyez sur Alt+F11 sur votre clavier. Ensuite, sélectionnez Insérer> ; Module. Après cela, il ouvrira l'éditeur VBA d'Excel.

Utilisation de la propriété Range.End pour trouver la dernière ligne contenant des données dans une plage à l'aide de VBA

Cette méthode permet de trouver la fin d'une plage, principalement la dernière plage de cellules utilisée. Nous pouvons utiliser cette méthode pour trouver la dernière ligne contenant des données dans une plage donnée. L'utilisation du VBA vous donnera les résultats souhaités.

📌 Étapes

Tout d'abord, ouvrez le VBA Rédacteur en chef.

Ensuite, tapez le code suivant :

 Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Dernière ligne utilisée : " & ; LastRow End Sub 

Maintenant, enregistrez le fichier. Puis, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez méthode de fin de plage

Après cela, cliquez sur Exécuter.

Comme vous pouvez le constater, nous avons réussi à trouver la dernière ligne contenant des données dans une plage en utilisant VBA dans Excel.

2. propriété Range.Find de VBA dans Excel

En VBA, nous utilisons la méthode Range.Find pour rechercher une valeur particulière dans un ensemble de données. Mais cette méthode est très utile pour trouver la dernière ligne contenant des données dans une plage. Elle fonctionne comme la boîte de dialogue Find & ; Replace d'Excel. La méthode Range.Find possède de nombreux arguments, mais nous ne les utiliserons pas tous.

Avant d'utiliser la méthode Range.Find, nous allons vous donner une information rapide :

Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)

Quoi := "*" - L'astérisque est un caractère de remplacement qui permet de découvrir n'importe quel texte ou nombre dans la cellule. C'est essentiellement la même chose que d'explorer une cellule non vide.

Ordre de recherche:=xlByRows - Cela signifie qu'il faut parcourir chaque ligne entière avant de passer à la suivante. La recherche s'effectue de gauche à droite ou de droite à gauche selon l'argument SearchDirection. L'option supplémentaire ici est xlByColumns, qui est utilisée pour localiser la dernière colonne.

SearchDirection:=xlPrevious - Cela détermine la direction à explorer. xlPrevious signifie que la recherche se fera de droite à gauche ou de bas en haut. L'autre alternative est xlNext qui se déplace dans la direction opposée.

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub range_find_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row MsgBox "Dernière ligne utilisée : " & ; LastRow End Sub 

Sauvegardez le fichier. Ensuite, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez méthode de recherche de plage.

Après cela, cliquez sur Exécuter .

Au final, il trouvera la dernière ligne contenant des données dans notre feuille de calcul Excel.

3. utilisation de la fonction SpecialCells pour trouver la dernière rangée en VBA

Cette méthode fonctionne comme si vous appuyiez sur Ctrl+Fin Lorsque vous appuyez sur Ctrl+Fin sur votre clavier, vous arrivez toujours à la dernière ligne, où que vous soyez. Mais si vous voulez trouver la dernière ligne utilisée avec des données en utilisant des codes VBA dans Excel, ce code est un must pour vous.

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Dernière ligne utilisée : " & ; LastRow End Sub 

Sauvegardez le fichier. Ensuite, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez méthode des cellules spéciales .

Après cela, cliquez sur Exécuter .

Comme vous pouvez le constater, nous avons réussi à trouver la dernière ligne contenant des données en utilisant VBA dans Excel.

4) Utilisation de la fonction UsedRange pour trouver la dernière ligne contenant des données dans une plage.

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

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Dernière ligne utilisée : " & ; LastRow End Sub 

Sauvegardez le fichier. Ensuite, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez Méthode de l'étendue utilisée.

Après cela, cliquez sur Exécuter .

Enfin, vous verrez la dernière ligne utilisée sur une feuille de calcul dans Excel avec succès.

5. utilisation d'une plage de tableaux à l'aide de VBA dans Excel

Si vous avez un tableau dans votre feuille de calcul, vous pouvez trouver la dernière ligne contenant des données avec cette méthode.

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Dernière ligne utilisée : " & ; LastRow End Sub 

Note : Ici, nous ajoutons 3 à la dernière ligne car notre jeu de données a commencé après la ligne 3.

Sauvegardez le fichier. Ensuite, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez Méthode TableRange_method.

Après cela, cliquez sur Exécuter .

Comme vous pouvez le constater, nous avons utilisé avec succès la méthode des plages de tableaux dans les codes VBA pour trouver la dernière ligne contenant des données dans Excel.

Utilisation de la plage nommée pour trouver la dernière rangée contenant des données dans une plage.

Cette méthode n'est pas couramment utilisée dans Excel, mais nous pensons que vous devriez l'apprendre pour enrichir vos connaissances.

Si votre jeu de données a une plage nommée, vous pouvez utiliser ce code. Regardez la capture d'écran suivante. Elle contient une plage nommée.

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "last used row : " & ; LastRow End Sub 

Note Nous ajoutons 1 à LastRow parce que notre plage a commencé après la ligne 1.

Maintenant, enregistrez le fichier. Puis, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez méthode de la gamme de noms.

Après cela, cliquez sur Exécuter.

Comme vous pouvez le constater, nous avons réussi à trouver la dernière ligne de données en utilisant VBA.

7. Fonction CurrentRegion de VBA dans Excel

Vous pouvez également utiliser la méthode CurrentRegion de VBA pour trouver la dernière ligne utilisée dans Excel. Bien que cela soit délicat, vous pouvez l'utiliser à votre avantage si vous le souhaitez.

📌 Étapes

Tout d'abord, ouvrez l'éditeur VBA.

Ensuite, tapez le code suivant :

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'ajoutez des chiffres selon votre choix' MsgBox "Last used row : " & ; LastRow End Sub 

Note L'intervalle doit être la première cellule de votre jeu de données. Et ajoutez le nombre de lignes selon votre choix. Ici, nous avons ajouté 3 car notre jeu de données a commencé après la ligne 3.

Sauvegardez le fichier. Ensuite, appuyez sur Alt+F8 pour ouvrir la boîte de dialogue Macro. Sélectionnez Méthode de la région actuelle

Après cela, cliquez sur Exécuter.

Comme vous pouvez le constater, nous avons réussi à trouver la dernière ligne contenant des données à l'aide du code VBA.

💬 Choses à retenir

Range.End ne fonctionne que sur une seule ligne ou colonne. Si votre ensemble de données contient beaucoup de cellules vides, il sera difficile de trouver la dernière ligne contenant des données.

Parfois, vous devez ajouter des valeurs à vos méthodes pour que le code fonctionne correctement. Nous avons ajouté des numéros de ligne pour trouver la dernière cellule. Vous devez donc vous souvenir du point de départ de votre ensemble de données.

Conclusion

Pour conclure, j'espère que ce tutoriel vous a apporté des connaissances utiles pour trouver la dernière ligne contenant des données dans une plage à l'aide de VBA dans Excel. Nous vous recommandons d'apprendre et d'appliquer toutes ces instructions à votre ensemble de données. Téléchargez le cahier d'exercices et essayez-les vous-même. N'hésitez pas non plus à donner votre avis dans la section des commentaires. Vos précieux commentaires nous motivent à créer des tutoriels comme celui-ci.

N'oubliez pas de consulter notre site web Exceldemy.com pour divers problèmes et solutions liés à Excel.

Continuez à apprendre de nouvelles méthodes et à vous développer !

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.