VBA recherche derniere ligne vide

Résolu/Fermé
Signaler
-
Messages postés
1190
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
-
Bonjour,

je travaille sur un tableau Excel, ce tableau peut contenir des trous (des cases non remplis).
je voudrait donc créer une macro qui recherche la dernière ligne entièrement vide du tableau.
le nombre de colonne du tableau est connue néanmoins.

j'ai déjà lue des solutions qui consistait a rechercher la derniere cellule vide d'une colonne, mais puisque le tableau contient des trous, donc "dernière cellule vide" ne veux pas dire "dernière ligne vide" !!!

3 réponses

vais-je utiliser la fonction "End(xlDown)" ?
j'ai finalement utiliser ce bout de code en me disant que si les 10 premieres cellules était vide alors la ligne serait surrement entierement vide



Function ligne_vide() As Integer
ligne_vide = 1

While ActiveSheet.Cells(ligne_vide, 1) <> "" _
Or ActiveSheet.Cells(ligne_vide, 2) <> "" _
Or ActiveSheet.Cells(ligne_vide, 3) <> "" _
Or ActiveSheet.Cells(ligne_vide, 4) <> "" _
Or ActiveSheet.Cells(ligne_vide, 5) <> "" _
Or ActiveSheet.Cells(ligne_vide, 6) <> "" _
Or ActiveSheet.Cells(ligne_vide, 7) <> "" _
Or ActiveSheet.Cells(ligne_vide, 8) <> "" _
Or ActiveSheet.Cells(ligne_vide, 9) <> ""
ligne_vide = ligne_vide + 1
Wend
MsgBox "ligne vide" & ligne_vide
End Function


Merci
Messages postés
1190
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
547
C'est effectivement à ça que je voulais arriver (mais ma syntaxe était vraiment à l'arrache...)
Bonne continuation
Messages postés
1190
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
547
Bonjour,
tu fais la même chose que pour trouver la dernière cellule vide sauf que dans la condition, tu rajoutes les autres colonnes.
tu peux me donner un exemple ? supposons que j'ai 14 colonnes !
Messages postés
1190
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
547 > Bilux
je ne me rapelle plus très bien de la syntaxe VBA mais ca donne un truc du genre :
var compteur = 0
while (isempty(activesheet.cells(0,compteur)) && isempty(activesheet.cells(1,compteur)) && ... && isempty(activesheet.cells(14,compteur))) {

compteur++


}



a la sortie compteur correspond à la première ligne vide.

(je ne suis pas sur de la syntaxe pour cells, de même pour les ET logique etc...)