VBA: trouver la dernière cellule utilisée

La recherche de la dernière cellule utilisée (ou la dernière cellule non-vide) dans une Feuille Excel est une des opérations clés en VBA. Trouver cette dernière cellule permet de limiter les itérations inutiles, d'optimiser les plages à copier ou formater, et d'améliorer la performance globale des macros.

Excel: trouver la dernière cellule Dans cet article, vous allez découvrir comment trouver la dernière cellule utilisée avec VBA, ainsi que les différentes interprétations de ce concept, car il peut varier selon votre contexte de travail.

Notion de la "dernière cellule utilisée"

L’expression "dernière cellule utilisée" peut avoir plusieurs interprétations en fonction de ce que vous cherchez à faire. Il est donc important de savoir quel type de dernière cellule vous voulez identifier avant de choisir le bon code VBA.
Voici les principales interprétations :

  • La dernière cellule de la Feuille contenant une valeur ou une formule.
  • La dernière cellule de la Feuille contenant uniquement une valeur (les formules renvoyant "" ne sont pas prises en compte).
  • La dernière cellule utilisée dans une colonne spécifique.
  • La dernière cellule utilisée dans une ligne spécifique.

VBA : trouver la dernière cellule utilisée

Le code suivant permet de trouver la dernière cellule utilisée dans une feuille, qu'elle contienne une valeur ou une formule (peu importe si la formule affiche un résultat vide).

VBA : trouver la dernière cellule contenant une valeur

Pour trouver la dernière cellule qui contient une valeur non-vide (excluant les cellules avec des formules renvoyant des chaînes vides), utilisez cette variante. Cette méthode permet d’optimiser vos boucles et copier/coller uniquement les cellules pertinentes.
Le changement ici est dans l’argument LookIn, qui sera xlValues.

La dernière ligne utilisée dans une colonne donnée

Pour trouver la dernière ligne utilisée dans une colonne spécifique, voici deux méthodes :

ou bien :

Vous trouverez aussi cette méthode sous forme :

DerniereLigneUtilisee = Range("A65536").End(xlUp).Row

Cette version est moins recommandée, car elle est dépendante du nombre de lignes d’Excel (qui peut varier selon la version). Préférez donc l’instruction suivante, compatible avec toutes les versions d’Excel :

DerniereLigneUtilisee = Range("A" & Rows.Count).End(xlUp).Row

Attention : si aucune cellule n’est utilisée dans la colonne, le résultat sera 1 et non 0.

La dernière colonne utilisée dans une ligne donnée

Le principe est identique à celui utilisé pour les lignes. Voici le code :

Exemple pour la ligne 156 :

Attention : si aucune cellule n’est utilisée dans la ligne, le résultat sera 1.

Utilisation de la méthode .Find pour les commentaires

La méthode .Find permet également de chercher des cellules contenant des commentaires en utilisant l’argument LookIn:=xlComments.

Pour plus d’informations, vous pouvez consulter la documentation Microsoft.

Conclusion

Vous disposez désormais de plusieurs méthodes VBA pour trouver la dernière cellule utilisée ou non-vide, que ce soit dans une feuille, une colonne ou une ligne. Ces codes sont simples et efficaces, et peuvent facilement être intégrés dans vos macros pour optimiser vos traitements de données.

Ressources supplémentaires

Si vous avez apprécié ce tutoriel, voici quelques articles supplémentaires qui pourraient vous être utiles.

Laissez un commentaire

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

10 commentaires sur “VBA: trouver la dernière cellule utilisée”