Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95"<pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle"<i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles avec
code dans procédures évènementielles, puis pour chaque userform le type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
C'est d'enfer, Mgr...
Je sais maintenant que Monseigneur a existé, alors que pour Dieu, je doute
toujours.
Le 16/12/2009 11:07, Mgr T. Banni a écrit :bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui
permettrait de lister l'ensemble des objets et d'en faire des stats,
ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles
avec
code dans procédures évènementielles, puis pour chaque userform le
type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
--
fetnat
C'est d'enfer, Mgr...
Je sais maintenant que Monseigneur a existé, alors que pour Dieu, je doute
toujours.
Le 16/12/2009 11:07, Mgr T. Banni a écrit :
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95"<pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle"<i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui
permettrait de lister l'ensemble des objets et d'en faire des stats,
ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles
avec
code dans procédures évènementielles, puis pour chaque userform le
type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
--
fetnat
C'est d'enfer, Mgr...
Je sais maintenant que Monseigneur a existé, alors que pour Dieu, je doute
toujours.
Le 16/12/2009 11:07, Mgr T. Banni a écrit :bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle
de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}"& Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt& "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt& "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc<> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-"&
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il
y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui
permettrait de lister l'ensemble des objets et d'en faire des stats,
ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures
(ou fonctions ), le nombre de lignes de code, le nombre de feuilles
avec
code dans procédures évènementielles, puis pour chaque userform le
type
et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
--
fetnat
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" <vaderetrosp@mas> a écrit dans le message de
news:OIkfaejfKHA.1596@TK2MSFTNGP06.phx.gbl...
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
vi, vi, mon fils....le bougre est trop occupé à se goinfrer de poulets de
bresse et bien que ça rime avec messe, je l'y vois guère
Mgr T.B.
"Pounet95" a écrit dans le message de news:Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te
propose celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
vi, vi, mon fils....le bougre est trop occupé à se goinfrer de poulets de
bresse et bien que ça rime avec messe, je l'y vois guère
Mgr T.B.
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de news:
OyEBUYnfKHA.5020@TK2MSFTNGP02.phx.gbl...
Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" <vaderetrosp@mas> a écrit dans le message de
news:OIkfaejfKHA.1596@TK2MSFTNGP06.phx.gbl...
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te
propose celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
vi, vi, mon fils....le bougre est trop occupé à se goinfrer de poulets de
bresse et bien que ça rime avec messe, je l'y vois guère
Mgr T.B.
"Pounet95" a écrit dans le message de news:Bonsoir Mgr ,
Qu'entends-tu par notre cher "disparu" ?
C'est juste en ce qui concerne le forum j'espère !
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée
ici par notre ange émettrice de bisou (las! au singulier!), je te
propose celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil
qui permettrait de lister l'ensemble des objets et d'en faire des
stats, ce serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis ,
juré, je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de news:
%23cYEU7bfKHA.3792@TK2MSFTNGP02.phx.gbl...
Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:uA7s%235afKHA.1652@TK2MSFTNGP05.phx.gbl...
bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95
bonjour pounet
ne comprenant pas trop comment fonctionne la macro d'Alain Cros donnée ici
par notre ange émettrice de bisou (las! au singulier!), je te propose
celle de notre cher disparu, Laurent Longre
la voici (non testée sur XL 2007 dont le Vatican ne nous a toujours pas
équipé)
HTH
Mgr T. Banni
Sub CopieDansWord()
'Cette macro 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
"Pounet95" a écrit dans le message de news:
%Merci beaucoup à tous deux
Je vais mettre ça en oeuvre rapidement
Merci aussi pour le "bisou*"
Bonnes fêtes de fin 2009 à toutes et tous
Pounet95
"isabelle" a écrit dans le message de
news:uA7s%bonjour Pounet,
il y a celle-ci de Alain Cross pour listé tout les macro et raccouci
Sub ListeMacros_2()
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer
Dim Wbk As Workbook
Application.ScreenUpdating = False
' Set Wbk = Workbooks.Add
ActiveWorkbook.ActiveSheet.[A1:B1] = [{"Procédure","Raccourci"}]
SendKeys "%{F8}%a{PGUP}{TAB}{ESC}", True
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
I = I + 1
SendKeys Rpt & "%n^c{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 1).Activate
ActiveSheet.Paste
Macro = ActiveCell.Value
If Macro = ActiveCell.Offset(-1).Value Then
ActiveCell.Clear
Exit Do
End If
SendKeys Rpt & "%t^c{ESC}{ESC}", True
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Activate
ActiveSheet.Paste
Racc = ActiveCell.Value
If Racc <> Macro Then
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Value = "Ctrl-" &
Racc
Else
ActiveWorkbook.ActiveSheet.Cells(I + 1, 2).Clear
End If
Loop
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
' .CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
Application.ScreenUpdating = True
End Sub 'Alain Cross
je te souhaite de très joyeuses fêtes, bisou*
isabelle
Pounet95 a écrit :Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista
Venant de mettre à disposition une application en VBA, je cherche un
moyen de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même
s'il y a des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de
procédures (ou fonctions ), le nombre de lignes de code, le nombre de
feuilles avec code dans procédures évènementielles, puis pour chaque
userform le type et le nombre de contrôles utilisés.
Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré,
je crois à nouveau en toi ( ou toit ! )
Pounet95