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é.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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" <markos.psb@tiscali.fr> a écrit dans le message de
news:%2386E1dy1EHA.3616@TK2MSFTNGP11.phx.gbl...
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é.
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é.