CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 2018
-
8 févr. 2011 à 09:42
CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 2018
-
8 févr. 2011 à 11:26
Salut à tous,
J'ai un bout de code qui me permet de compter le nombre de lignes dans un module ou une form (qu j'appelle précisément).
Sub CompterLignes()
Name="MonModule ou MaForm"
NbLgn = ActiveWorkbook.VBProject.VBComponents(Name).CodeModule.CountOfLines 'nombre de lignes
End Sub
Seulement, ça ne marche pas quand j'appelle les objets "Feuil..." ou "ThisWorkbook".
De même, je voudrais pouvoir obtenir le nombre de lignes de TOUT le projet, sans avoir à appeler chaque module ou chaque form (dans une boucle for next ou for each, mais comment ?).
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 8 févr. 2011 à 10:50
Bonjour
je ne comprends pas où est la difficulté : utilises un compteur
Dim compteur as long
Dim i As Integer
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
compteur = compteur + ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines
Next
Msgbox compteur
CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 20181 8 févr. 2011 à 10:40
Certes, je m'améliore!
Sub CompterLignesProjet()
Dim i As Integer
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
MsgBox ActiveWorkbook.VBProject.VBComponents(i).Name & " / " & ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines & " lignes"
Next i
End Sub
Mais comment faire automatiquement la somme du projet : nombre de "components" aléatoires...
Il doit quand même y avoir un autre moyen que de "recopier chaque résultat dans une celule" et d'en faire la somme, non ?
CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 20181 8 févr. 2011 à 11:26
Bon,
In finé, voila un code qui donne le relevé détaillé du projet et le nombre de ligne total.
Merci encore Loulou69
Sub CompterLignesProjet()
Dim Total As Long
Dim i As Integer
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Noms = Noms & vbNewLine & ActiveWorkbook.VBProject.VBComponents(i).Name & " / " & ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines & " lignes"
Total = Total + ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines
Next i
MsgBox Noms & vbNewLine & vbNewLine & "Total : " & Total & " Lignes"
End Sub