Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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 Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il n'y
arrivait pas...Puis les vapeurs se sont évaporées et le miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il n'y
arrivait pas...Puis les vapeurs se sont évaporées et le miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il n'y
arrivait pas...Puis les vapeurs se sont évaporées et le miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel
ET dans Word. Correction faite sauf que je ne sais pas comment m'y
prendre pour enregistrer ces références dans Word et Excel afin
qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car
il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:eWjPBVxfKHA.5300@TK2MSFTNGP02.phx.gbl...
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et coché
côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé et
finalement ça marche comme un charme, dans un classeur qui possède du
code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela se
trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou mieux
pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines , j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets et
3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est suffisant
(rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel à
cette occasion, nous serions fixés mais le félon a d'autres gones en ligne
de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe de
discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est suffisant
(rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel à
cette occasion, nous serions fixés mais le félon a d'autres gones en ligne
de mire
Mgr T.B.
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de groupe de
discussion : ePiuAWzfKHA.2188@TK2MSFTNGP04.phx.gbl...
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:eWjPBVxfKHA.5300@TK2MSFTNGP02.phx.gbl...
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est suffisant
(rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel à
cette occasion, nous serions fixés mais le félon a d'autres gones en ligne
de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe de
discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes ça
fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai toujours
pas réussi à faire fonctionner la procédure, mais c'est sous Vista/2007
!!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans Excel ET
dans Word. Correction faite sauf que je ne sais pas comment m'y prendre
pour enregistrer ces références dans Word et Excel afin qu'elles soient
disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé, sauvé
et finalement ça marche comme un charme, dans un classeur qui possède
du code, bien sûr ! Dans mon test c'est 23 pages de code bien rangé.
Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère car il
n'y arrivait pas...Puis les vapeurs se sont évaporées et le miracle
advint.
On se demande bien quel fut son parcours à cette bleusaille, si cela
se trouve il est monté dans la hiérarchie. Tu l'imagines, évêque ou
mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10 navets
et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe
de discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" <banni@lacurie.va> a écrit dans le message de
news:53733CA6-B64A-4C82-A33D-86A9A5206174@microsoft.com...
bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de groupe
de discussion : ePiuAWzfKHA.2188@TK2MSFTNGP04.phx.gbl...
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:eWjPBVxfKHA.5300@TK2MSFTNGP02.phx.gbl...
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe
de discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
Pounet,
J'ai off2003.
Le message "La méthode VBE de l'objet Application a échoué " a disparu
quand j'ai coché
Microsoft Visual Basic For Application Extensibility 5.3
Après j'ai été confus car j'ai tout tripoté côté Word et XL et c'est
parti...
J'ai refait la manip ce matin et ça tourne comme une horloge suisse.
fetnat
Le 18/12/2009 08:07, Pounet95 a écrit :Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe
de discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
--
fetnat
Pounet,
J'ai off2003.
Le message "La méthode VBE de l'objet Application a échoué " a disparu
quand j'ai coché
Microsoft Visual Basic For Application Extensibility 5.3
Après j'ai été confus car j'ai tout tripoté côté Word et XL et c'est
parti...
J'ai refait la manip ce matin et ça tourne comme une horloge suisse.
fetnat
Le 18/12/2009 08:07, Pounet95 a écrit :
Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" <banni@lacurie.va> a écrit dans le message de
news:53733CA6-B64A-4C82-A33D-86A9A5206174@microsoft.com...
bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" <pounet95@quelquepart.fr> a écrit dans le message de groupe
de discussion : ePiuAWzfKHA.2188@TK2MSFTNGP04.phx.gbl...
Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" <i@v> a écrit dans le message de
news:eWjPBVxfKHA.5300@TK2MSFTNGP02.phx.gbl...
oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :
Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" <fetnat@caramail.com> a écrit dans le message de
news:uKNMiGvfKHA.1460@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :
Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
--
fetnat
Pounet,
J'ai off2003.
Le message "La méthode VBE de l'objet Application a échoué " a disparu
quand j'ai coché
Microsoft Visual Basic For Application Extensibility 5.3
Après j'ai été confus car j'ai tout tripoté côté Word et XL et c'est
parti...
J'ai refait la manip ce matin et ça tourne comme une horloge suisse.
fetnat
Le 18/12/2009 08:07, Pounet95 a écrit :Bonjour Mgr,
Oui, j'avais bien lu la non mise à dispo d'Office2007 !
Je ne sais pas avec quelle version Isabelle, et FetNat ont réussi à
faire fonctionner la procédure, mais je les envie ( même si c'est un des
7 pêchés capitaux )
Je tente de décortiquer la procédure ligne par ligne et je coince dès le
début
Même ça coince alors que ce ne sont que des copier/coller de l'aide !!
Sub test()
Debug.Print Application.VBE.ActiveVBProject.Name
Debug.Print ThisWorkbook.VBProject.Name
End Sub
Dès ma première ligne, j'ai le message d'erreur : "La méthode VBE de
l'objet Application a échoué "
Manquerait-il une référence quelque part ? Je ne comprends rien à ce qui
s'appelle "Aide" ;o((((
Les références cochées :
Visual Basic pour Applications
Microsoft Excel 12
OLE Automation
Microsoft ActiveX Data Object 2.5 Library
Microsoft Forms 2.0 Object library
Microsoft Visual Basic For Application Extensibility 5.3
VBAProject
Si ça inspire quelqu'un(e) ???
Pounet95
"Mgr T. Banni" a écrit dans le message de
news:bonsoir pounet
moi, j'ai dit que je n'avais pas XL 2007 et que ça marchait comme un
lapide (vous savez, ce tlain qui va tlès tlès vite) sur XL 2002 et 2003
AMHA, ça ne fonctionne que pour les classeurs dont les références
sous-nommées ont été cochées dans XL où, là encore AMHA, c'est
suffisant (rien à faire dans Word, donc)
si seulement notre grand chef 4 plumes venait mettre son grain de sel
à cette occasion, nous serions fixés mais le félon a d'autres gones en
ligne de mire
Mgr T.B.
"Pounet95" a écrit dans le message de groupe
de discussion :Bonsoir Isabelle,
As-tu réussi à sauvegarder pour TOUT document que tu créeras ou aloes
ça fonctionne juste pour le classeur en cours ?
Je dois être super "lourdingue" car jusqu'à maintenant, je n'ai
toujours pas réussi à faire fonctionner la procédure, mais c'est sous
Vista/2007 !!!!
Pounet95
"isabelle" a écrit dans le message de
news:oups correction,
il y a bien une différence entre
"Microsoft Visual Basic For Applications Extensibility"
et
"Visual Basic For Applications"
et nul besoin d'ajouter de référence dans Word.
et comme a dit Fetna, c'est d'enfer Monseigneur, ça vaut bien milles
bisou*s
et de très joyeuse fêtes à tous,
isabelle
Pounet95 a écrit :Bonjour,
Bon, sur le coup, j'ai toujours un souci.
Je n'avais pas compris qu'il faille mettre les références dans
Excel ET dans Word. Correction faite sauf que je ne sais pas
comment m'y prendre pour enregistrer ces références dans Word et
Excel afin qu'elles soient disponibles compris dans un nouvel objet.
Comment dois-je procéder Vista/Office2007 ?
Merci
Pounet95
"fetnat" a écrit dans le message de
news:
Bonjour,
Ce n'est pas parti du premier coup, j'avais suivi l'ordonnance et
coché côté XL et Word (les deux).
"Microsoft Word X.0 Object Library"
ainsi que la bibliothèque "Microsoft Visual Basic For Applications
Extensibility "."
Mais en vérifiant la coche est partie. J'ai recommencé, fermé,
sauvé et finalement ça marche comme un charme, dans un classeur
qui possède du code, bien sûr ! Dans mon test c'est 23 pages de
code bien rangé. Impressionnant.
J'ai même googlé dans les archives qui ont montrées qu'en 2001, un
paroissien à la main tremblante nommé Sabatier appelait sa mère
car il n'y arrivait pas...Puis les vapeurs se sont évaporées et le
miracle advint.
On se demande bien quel fut son parcours à cette bleusaille, si
cela se trouve il est monté dans la hiérarchie. Tu l'imagines,
évêque ou mieux pape ?! :)
cordialement
fetnat
Le 17/12/2009 07:03, Pounet95 a écrit :Bonjour Mgr ............ et tout le monde bien sûr,
Vista/Excel 2007
S'il vous reste quelques forces après avoir sonné matines ,
j'aimerais
savoir comment ça fonctionne car :
- j'ai copié la procédure dans un module standard d'un classeur
Excel
vierge,
- j'ai ajouté les références citées,
- j'ai ouvert un classeur dans lequel il y a 4 modules standards,,
- je me suis positionné dans la procédure et l'ai lancé pas à pas
résultat : la boucle 'For each VBC' n'est pas exécutée.
j'ai donc essayé en copiant la procédure dans un nouveau module
standard
du classeur vouly ( donc 5 modules maintenant )
re lancé la procédure, et même cause, même effet : rien, nada ;o(((
les modules sont ouverts, un document word est en attente d'être
rempli
mais c'est tout ce qui se passe de positif.
Dites-moi et je vous en serai très reconnaissant : don de 10
navets et 3
pommes de terre à Office ;o))))) ( c'est bof, mais perso, j'aime )
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
--
fetnat
--
fetnat