Compter le nombre de lignes de code [Résolu]

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
- 8 févr. 2011 à 09:42 - Dernière réponse :
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 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 ?).

Merci beaucoup de votre aide.

Cordialement


Rataxes64
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Dernière intervention
2 juin 2016
8 févr. 2011 à 10:50
3
Merci
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

Merci cs_loulou69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_loulou69
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
8 févr. 2011 à 10:40
0
Merci
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 ?

Merci pour votre aide
Cordialement
Rataxes64
Commenter la réponse de CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
8 févr. 2011 à 11:02
0
Merci
Bonjour,

Mais c'est bien sûr!!!

Merci beaucoup!

Rataxes64
Commenter la réponse de CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Dernière intervention
22 août 2018
8 févr. 2011 à 11:26
0
Merci
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


cordialement
Rataxes64
Commenter la réponse de CerberusPau

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.