Compter ligne sur plusieurs tableaux
Résolu
Pimp92a
Messages postés
442
Statut
Membre
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai x tableaux sur une feuille excel j'aimerai recuperer le nombre de lignes en vba pour chacun.
Mon code actuellement c'est ça.
Le probleme, c'est qu'il compte toutes les cellules repondant a la condition bien sûr et je ne sais pas comment lui dire de remettre a zero le compteur a chaque tableau (ces derniers étant séparés d'une ligne vide a chaque fois). Les tableaux changent d'emplacement sur le fichier tous les mois et changent aussi de nombres de lignes (quelques fois plus, quelques fois moins).
Merci par avance
J'ai x tableaux sur une feuille excel j'aimerai recuperer le nombre de lignes en vba pour chacun.
Mon code actuellement c'est ça.
For Each Feuille In Worksheets For PremliD = 1 To 65536 If Cells(PremliD, 8) = "" And Cells(PremliD, 1) <> "" And Cells(PremliD, 2) <> "" And Cells(PremliD, 3) <> "" And Cells(PremliD, 4) <> "" And Cells(PremliD, 5) <> "" And Cells(PremliD, 6) <> "" And Cells(PremliD, 7) <> "" And Cells(PremliD, 1) <> "TITULO" Then nbLignes = nbLignes + 1 End If Next PremliD MsgBox nbLignes nbLignes = 0 Feuille.Activate Next feuille
Le probleme, c'est qu'il compte toutes les cellules repondant a la condition bien sûr et je ne sais pas comment lui dire de remettre a zero le compteur a chaque tableau (ces derniers étant séparés d'une ligne vide a chaque fois). Les tableaux changent d'emplacement sur le fichier tous les mois et changent aussi de nombres de lignes (quelques fois plus, quelques fois moins).
Merci par avance
1 réponse
-
Bonjour,
Pour une feuille (excel 2003 et 2007) :
Option Explicit Sub Test() Dim rng As Range Dim n°L As Long Dim d°L As Long Dim nbL As Long d°L = Range("A1").EntireColumn.Find("*", , , , , xlPrevious).Row Do While n°L < d°L n°L = n°L + 1 If Cells(n°L, 1).Formula <> "" Then nbL = Cells(n°L, 1).CurrentRegion.Rows.Count MsgBox nbL n°L = n°L + nbL End If Loop End Sub