Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Documentation technique VBA

25 réponses
Avatar
Pounet95
Bonsoir à toutes et tous,
XL2000 et XL2007 sous Vista

Venant de mettre à disposition une application en VBA, je cherche un moyen
de faire de façon fiable et rapide une documentation technique.
J'entend par là, écrire un document qui détaillerait le code ( même s'il y a
des commentaires dedans ) tant sur son pourquoi que comment.
Si dans un premier temps quelqu'un(e) avait des tuyaux sur un outil qui
permettrait de lister l'ensemble des objets et d'en faire des stats, ce
serait super.
Ainsi, je n'aurais pas à recopier module par module, procédure par
procédure, l'ensemble du code et ensuite compter le nombre de procédures (ou
fonctions ), le nombre de lignes de code, le nombre de feuilles avec code
dans procédures évènementielles, puis pour chaque userform le type et le
nombre de contrôles utilisés.

Pére Noël ( ou Mère Noëlle ), si tu as ça dans ta hotte, promis , juré, je
crois à nouveau en toi ( ou toit ! )

Pounet95

5 réponses

1 2 3
Avatar
fetnat
Slt,

Côté XL j'ai :

Visual Basic For Applications
Microsoft Excel 11.0 Object Library
OLE automation
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
Microsoft Word 11.0 Object Library
Microsoft Visual Basic for Applications Extensibility 5.3

fetnat



Le 18/12/2009 09:14, Pounet95 a écrit :
Bonjour fetnat,
Qu'as-tu comme références cochées ?

Pounet95

"fetnat" a écrit dans le message de
news:

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





Avatar
fetnat
et Côté Word j'ai :

Visual Basic For Applications
Microsoft Word 11.0 Object Library
OLE automation
Normal
Microsoft Office 11.0 Object Library

à+


Le 18/12/2009 09:46, fetnat a écrit :

Slt,

Côté XL j'ai :

Visual Basic For Applications
Microsoft Excel 11.0 Object Library
OLE automation
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
Microsoft Word 11.0 Object Library
Microsoft Visual Basic for Applications Extensibility 5.3

fetnat



Le 18/12/2009 09:14, Pounet95 a écrit :
Bonjour fetnat,
Qu'as-tu comme références cochées ?

Pounet95

"fetnat" a écrit dans le message de
news:

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











Avatar
isabelle
bonjour Pounet,

je travaille sur la version xl2002,
*mais regarde au menu, affichage, explorateur d'objet, VBProject
pour voir si les membres de cette classe ne sont pas différent par
rapport à la macro

isabelle

***


**


Pounet95 a écrit :
Bonjour fetnat,
Qu'as-tu comme références cochées ?

Pounet95

"fetnat" a écrit dans le message de
news:

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





Avatar
Pounet95
Bonsoir,

C'est à ni rien comprendre ! J'ai rechargé le fichier de test, ai lancé la
macro et en 2 coups decuillère à pot, résultat dans un doc Word.
Et là, vous allez me haïr, mais ce n'est pas ce que j'espérais ;o((((((
En fait, ça met "juste" dans un fichier word le listing du code, module par
module. C'est bien, mais pas assez par rapport à mon attente.
Mon besoin est le suivant :
1. faire une liste des modules quels qu'ils soient avec la liste des
procédures qu'ils contiennent,
2. pour chaque module, avoir des stats sur le nombre de lignes de code
compris lignes de commentaires,
3. pour chaque module ou fonction, savoir quelle procédure ou fonction il
appelle et par quelles procédures ou fonctions il est appelé,
4. pour chaque module de feuilles ( userforms ), le nombre de contrôles
utilisés par type

Et ça pour 2 applis de saisie de données qui devront être maintenues par je
ne sais trop qui et où avant mon départ en retraite.
Et, cerise sur le gâteau, il va falloir que je créé un document explicitant
comment se servir du VBE. Au moment où j'écris ces lignes, on ne m'a pas
encore demandé de faire un support de programmation pour les nuls, mais je
ne désespère pas !
Si j'ose, je préciserais qu'il faut que ça coûte ............ pas un rond
!!!!!!

Encore merci pour votre aide. M'est avis que ce n'est pas la dernière fois
que je vais y faire appel.
Et puisqu'il faut entamer les hostilités, bonnes fêtes de fin d'année.
Profitez-en le plus que vous le pouvez et qu'il vous est permis.

Pounet95


"Pounet95" a écrit dans le message de
news:
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


Avatar
Pounet95
A toutes les celles et les ceusses que ça pourrait intéresser, suite aux
problèmes que j'ai pu rencontrer, j'ai tenté l'adaptation du code fourni par
Mgr T. Banni
Voici le résultat de mes cogitations ( non terminées )
http://www.cijoint.fr/cjlink.php?file=cj200912/cij8EfvZjC.xlsm

Si à partir de cela, vous avez quelques idées d'extension codées ( ... moi
aussi j'ai encore des idées que j'ai de plus en plus de mal à réaliser ),
suis preneur

PS: c'est du XL2007 et il peut y avoir un message d'erreur dont l'aide ne
vous renda aucun service tellement il est clair ( si, si, j'ai testé ( dixt
Rommy Schneider) ) Si vous avez des pbs ( erreur 1004 entre autres ) voir
du côté onglet "Développeur" disponible et dans celui-ci le menu "Sécurité
macros" qui activé devrait permettre de voir si l'option "Accès approuvé au
modèle d'objet" est cochée

Pounet95


"Pounet95" a écrit dans le message de
news:
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


1 2 3