Dénombrer le nombre de lignes dans un module

Le
MichDenis
Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mousnynao
Le #4963751
Bonjour,

peut-être que :

Sub Test()

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub

mousnynao



Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations





MichDenis
Le #4963731
Merci à toi.

Je suis certain que tu n'as pas testé ta procédure.

La question était toutes les lignes ...

- Suppose que tu as 10 lignes de commentaire et en ligne vide
au début du module avant la première procédure. La première
procédure ne débute pas toujours en ligne 1 ...

- Suppose que tu as 5 lignes vides ou en commentaire après ta
dernière procédure

Ceci ne donnera pas le bon nombre de lignes : MsgBox .CountOfLines

Si tu ne sais pas combien de lignes que tu as, comment faire pour les
copier dans un autre module ?

;-)

Merci pour ta participation... mais la question n'est pas si facile !




"Mousnynao"
Bonjour,

peut-être que :

Sub Test()

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub

mousnynao



Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations





LSteph
Le #4963711
Bonsoir,

Function CountModulines(VbCmp As String, _
WbName As String) As String
CountModulines = Workbooks(WbName).VBProject. _
VBComponents(VbCmp).CodeModule.CountOfLines _
& " lignes dans " & VbCmp
End Function

Sub test()
MsgBox CountModulines("Module1", ThisWorkbook.Name)
End Sub


--
lSteph

Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations




LSteph
Le #4963701
Si , si, j'ai proposé une fonction analogue avec .countoflines et cela
prends itou les lignes vides

--
lSteph

Merci à toi.

Je suis certain que tu n'as pas testé ta procédure.

La question était toutes les lignes ...

- Suppose que tu as 10 lignes de commentaire et en ligne vide
au début du module avant la première procédure. La première
procédure ne débute pas toujours en ligne 1 ...

- Suppose que tu as 5 lignes vides ou en commentaire après ta
dernière procédure

Ceci ne donnera pas le bon nombre de lignes : MsgBox .CountOfLines

Si tu ne sais pas combien de lignes que tu as, comment faire pour les
copier dans un autre module ?

;-)

Merci pour ta participation... mais la question n'est pas si facile !




"Mousnynao"
Bonjour,

peut-être que :

Sub Test()

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub

mousnynao


Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations









LSteph
Le #4963691
...serait mieux ainsi:



Function CountModulines(VbCmp As String, _
WbName As String) As Long
CountModulines = Workbooks(WbName).VBProject. _
VBComponents(VbCmp).CodeModule.CountOfLines
End Function

Sub test()
Dim vbc As String
vbc = "Module1"
MsgBox CountModulines(vbc, ThisWorkbook.Name) _
& " lignes dans " & vbc
End Sub


--
lSteph


Bonsoir,

Function CountModulines(VbCmp As String, _
WbName As String) As String
CountModulines = Workbooks(WbName).VBProject. _
VBComponents(VbCmp).CodeModule.CountOfLines _
& " lignes dans " & VbCmp
End Function

Sub test()
MsgBox CountModulines("Module1", ThisWorkbook.Name)
End Sub


--
lSteph

Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur
chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations





Mousnynao
Le #4963681
re :

si si, j'avais tester le tout, cette même routine placé dans module1 !
-----------------
Option Explicit

Sub Test()

' Test du nombre de lignes

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub
'

---------------------------------
me donne un résultat de 24 lignes !

mousnynao


Merci à toi.

Je suis certain que tu n'as pas testé ta procédure.

La question était toutes les lignes ...

- Suppose que tu as 10 lignes de commentaire et en ligne vide
au début du module avant la première procédure. La première
procédure ne débute pas toujours en ligne 1 ...

- Suppose que tu as 5 lignes vides ou en commentaire après ta
dernière procédure

Ceci ne donnera pas le bon nombre de lignes : MsgBox .CountOfLines

Si tu ne sais pas combien de lignes que tu as, comment faire pour les
copier dans un autre module ?

;-)

Merci pour ta participation... mais la question n'est pas si facile !




"Mousnynao"
Bonjour,

peut-être que :

Sub Test()

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub

mousnynao



Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations










LSteph
Le #4963671
Md n'a peut-être pas la même version ,
chez moi ta sub ou ma fonction vont très bien avec countoflines (2003)

--
lSteph

re :

si si, j'avais tester le tout, cette même routine placé dans module1 !
-----------------
Option Explicit

Sub Test()

' Test du nombre de lignes

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub
'

---------------------------------
me donne un résultat de 24 lignes !

mousnynao


Merci à toi.

Je suis certain que tu n'as pas testé ta procédure.

La question était toutes les lignes ...

- Suppose que tu as 10 lignes de commentaire et en ligne vide
au début du module avant la première procédure. La première
procédure ne débute pas toujours en ligne 1 ...

- Suppose que tu as 5 lignes vides ou en commentaire après ta
dernière procédure

Ceci ne donnera pas le bon nombre de lignes : MsgBox .CountOfLines

Si tu ne sais pas combien de lignes que tu as, comment faire pour les
copier dans un autre module ?

;-)

Merci pour ta participation... mais la question n'est pas si facile !




"Mousnynao"
Bonjour,

peut-être que :

Sub Test()

Dim VBP As Variant
Dim VBC As VBComponent
Dim Compteur As Long

Set VBP = ActiveWorkbook.VBProject
Set VBC = VBP.VBComponents("Module1")

With VBP
With VBC
With VBP.VBComponents(VBC.Name).CodeModule
MsgBox .CountOfLines
End With
End With
End With

End Sub

mousnynao


Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations











LSteph
Le #4963661
;-)
Te serais tu endormi...
tu dois être victime d'un microclimat



Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations




MichDenis
Le #4963651
Merci à vous deux,

Désolé. Et oui, Vous avez raison...

J'utilisais l'index (3) du module plutôt que son nom ....

Workbooks(WbName).VBProject..VBComponents(3).CodeModule

L'index "module3" n'est pas représentatif du véritable index comptabilisé
par excel... il y a ThisWorkbook, les modules feuilles et de classe.

Je m'en vais de ce pas me coucher ! ;-)))


Salutations






"LSteph"
...serait mieux ainsi:



Function CountModulines(VbCmp As String, _
WbName As String) As Long
CountModulines = Workbooks(WbName).VBProject. _
VBComponents(VbCmp).CodeModule.CountOfLines
End Function

Sub test()
Dim vbc As String
vbc = "Module1"
MsgBox CountModulines(vbc, ThisWorkbook.Name) _
& " lignes dans " & vbc
End Sub


--
lSteph


Bonsoir,

Function CountModulines(VbCmp As String, _
WbName As String) As String
CountModulines = Workbooks(WbName).VBProject. _
VBComponents(VbCmp).CodeModule.CountOfLines _
& " lignes dans " & VbCmp
End Function

Sub test()
MsgBox CountModulines("Module1", ThisWorkbook.Name)
End Sub


--
lSteph

Bonsoir,

Comment fait-on pour dénombrer le nombre de ligne dans un module ?
Ce nombre doit comprendre toutes les lignes
a ) vides
b) en commentaire
c) de code

Est-ce qu'il y a une méthode plus simple et rapide que de boucler sur
chacune d'elle ?

Ne pas vous endormir sur mon problème ! ;-)


Salutations





MichDenis
Le #4963641
Désolé, voir mon autre message pour explications.

Merci de ta participation.
Publicité
Poster une réponse
Anonyme