OVH Cloud OVH Cloud

Liste des procédures VBA

1 réponse
Avatar
Markos
Bonjour,
Existe t-il un moyen pour faire la liste de l'ensemble des modules, codes
des feuilles et des userForms... d'une application VBA.
Car je commence à avoir quelques problèmes pour me repérer notamment dans
les mises à jour, corrections diverses.
Je ne souhaite pas à chaque modifs imprimer les modules, mais par exemple
indiquer seulement sur une sorte de sommaire la date de la modif et son
résumé.

Merci par avance.

1 réponse

Avatar
jps
bonjour markos
essaie cette oeuvre d'art de notre ex-chef 4 plumes
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim S As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo Fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set S = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
S.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
Fin:
W.ScreenUpdating = True
End Sub
Sub CopieXLADansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim S As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo Fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set S = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
S.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
Fin:
W.ScreenUpdating = True
End Sub
"Markos" a écrit dans le message de
news:%
Bonjour,
Existe t-il un moyen pour faire la liste de l'ensemble des modules, codes
des feuilles et des userForms... d'une application VBA.
Car je commence à avoir quelques problèmes pour me repérer notamment dans
les mises à jour, corrections diverses.
Je ne souhaite pas à chaque modifs imprimer les modules, mais par exemple
indiquer seulement sur une sorte de sommaire la date de la modif et son
résumé.

Merci par avance.