Selection de la première ligne vide

Hello,

Je souhaite faire référence à la première ligne d'une feuille qui est totalement vide. Après x lignes de données, je veux donc travailler à partir de la première ligne vide.

J'ai trouvé ce code qui fonctionne plutôt bien, mais je ne suis pas sûr de bien comprendre son fonctionnement, et donc ses limites éventuelles. Quelqu'un pourrait-il m'éclairer svp ?

ActiveSheet.Range("A" & Rows.Count).End(xlUp).EntireRow.Select

En particulier au niveau de "End(xlUp)".

Merci d'avance.

Bonjour,

ActiveSheet.Range("A" & Rows.Count). >> fait référence à la dernière cellule de la colonne A (Rows.count étant le nombre de lignes d'un fichier excel soit 1.048.576 dans les versions les plus récentes)

End(xlUp). >> on remonte jusqu'à la dernière cellule de cette colonne renseignée

EntireRow.Select >> on sélectionne la ligne entière trouvée

et donc ceci ne fait pas référence à la première ligne d'une feuille qui est totalement vide !! mais la dernière dont la cellule de la colonne A est renseignée

ceci :

ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).EntireRow.Select

serait plus adapté

Merci de ces précisions, je comprends mieux en effet le rôle de End(xlUp).

En comparaison de cette définition, que fait donc End(xlDown) ?

Pour xldown, on part du haut (A1 par exemple) et on descend jusqu'à la dernière ligne renseignée.

Super !

J'ai fait quelques tests et j'ai finalement bien compris le fonctionnement, merci beaucoup !!!

J'ajoute que cela ne donne pas la même chose ...

xldown s'arrête s'il y a une ligne vierge au milieu des données

xlup s'arrête bien à la toute dernière ligne

Ok je vois.

Ce code là se base en référence à une colonne. Cela fonctionne bien si dans les faits, lorsque la cellule est vide, il se trouve que le reste des cellules de la même ligne sont vides aussi...

Mais si une cellule vide est trouvée alors que d'autres cellules de cette même ligne ne sont pas vides, la ligne entière sera quand même sélectionnée, alors que je veux identifier une ligne complètement vide uniquement.

Si je veux le rendre plus "robuste" et donc être certain que la ligne entière soit vide, que devrais-je écrire ?

Normalement on utilise par exemple

Range("A1").CurrentRegion

puis on détermine la dernière ligne +1

mais j'avoue que je n'utilise pas beaucoup, il fdaudrait vori ce que donne :

msgbox Range("A1").CurrentRegion.Rows.Count + 1
Rechercher des sujets similaires à "selection premiere ligne vide"