OVH Cloud OVH Cloud

Ajouter une macro à l'aide d'une autre macro !

8 réponses
Avatar
Erik
Bonjour,=20
J'ai cr=E9er une nouvelle barre d'outils dans word et=20
j'aimerais pouvoir la personnaliser sans passer par=20
VBEditor.=20
J'ai un bouton "personnaliser" qui ouvre un USERFORM. Je=20
sais ajouter des menus, ajouter des entr=E9es (boutons)=20
dans un menu et leurs attribuer un nom de macro. En=20
revanche, je ne sais pas comment faire pour attribuer la=20
macro car quand j'ai le nom il faut que je fasse la macro=20
ensuite dans VBEditor...=20
Comment faire pour qu'avec le bouton de mon USERFORM, je=20
copie un texte simple de macro dans le mod=E8le de=20
document ?=20

Merci beaucoup.

8 réponses

Avatar
Anacoluthe
Bonjour !

'Erik' nous a écrit ...
Comment faire pour qu'avec le bouton de mon USERFORM, je
copie un texte simple de macro dans le modèle de
document ?


Je n'ai rien compris du pourquoi du comment de votre question :-(

Voici à tout hasard une macro qui écrit une macro
et qui même l'exécute après lui avoir laissé le temps
d'être compilée :

Sub AjouteMacro()
' Ajoute une macro et l'exécute
With ActiveDocument.VBProject.VBComponents("ThisDocument").CodeModule
.InsertLines .CountOfLines + 1, _
"Sub Essai()" & vbCr & _
" Msgbox ""Bonjour !"" " & vbCr & _
"End Sub"
End With
Application.OnTime Now, "Essai"
End Sub

**** Joker AMIS* : cette macro est hyper-ultra-superfétatoire :-)
elle n'a pas d'autre but que d'être didactique. Merci de me
laisser les quelque pauvres malheureux points qui me restent!
* AMIS : Anti Macros Inutilement Superfétatoires

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS

Avatar
AB
Ouh là là !!! Tu joues avec le feu, là, mon pôvre !
Et t'auras l'air de quoi quand t'auras grillé tous tes points ???
André

"Anacoluthe" a écrit dans le message de news:
O8M1F7%
Bonjour !

'Erik' nous a écrit ...
Comment faire pour qu'avec le bouton de mon USERFORM, je copie un texte
simple de macro dans le modèle de document ?


Je n'ai rien compris du pourquoi du comment de votre question :-(

Voici à tout hasard une macro qui écrit une macro
et qui même l'exécute après lui avoir laissé le temps
d'être compilée :

Sub AjouteMacro()
' Ajoute une macro et l'exécute
With ActiveDocument.VBProject.VBComponents("ThisDocument").CodeModule
.InsertLines .CountOfLines + 1, _
"Sub Essai()" & vbCr & _
" Msgbox ""Bonjour !"" " & vbCr & _
"End Sub"
End With
Application.OnTime Now, "Essai"
End Sub

**** Joker AMIS* : cette macro est hyper-ultra-superfétatoire :-)
elle n'a pas d'autre but que d'être didactique. Merci de me
laisser les quelque pauvres malheureux points qui me restent!
* AMIS : Anti Macros Inutilement Superfétatoires

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS



Avatar
Anacoluthe
Hello André !

'AB' nous a écrit ...
Ouh là là !!! Tu joues avec le feu, là, mon pôvre !
Et t'auras l'air de quoi quand t'auras grillé tous tes points ???


Pas vu le radar :-p Bientôt bon pour repasser le permis entre AMIS ;-)

A+
A~

Avatar
Clément Marcotte
En passant, tu pourrais en faire une pour insérer une "heure statique"
dans Excel, par formule. (Mais, si tu n'as pas le temps, il y a déjà
un raccourci-clavier "d'office" pour cela.) ;-)

--
On apprend pas à un vieux singe à faire des grimaces
"Anacoluthe" a écrit dans le message de
news:O8M1F7%
Bonjour !

'Erik' nous a écrit ...
Comment faire pour qu'avec le bouton de mon USERFORM, je
copie un texte simple de macro dans le modèle de
document ?


Je n'ai rien compris du pourquoi du comment de votre question :-(

Voici à tout hasard une macro qui écrit une macro
et qui même l'exécute après lui avoir laissé le temps
d'être compilée :

Sub AjouteMacro()
' Ajoute une macro et l'exécute
With
ActiveDocument.VBProject.VBComponents("ThisDocument").CodeModule

.InsertLines .CountOfLines + 1, _
"Sub Essai()" & vbCr & _
" Msgbox ""Bonjour !"" " & vbCr & _
"End Sub"
End With
Application.OnTime Now, "Essai"
End Sub

**** Joker AMIS* : cette macro est hyper-ultra-superfétatoire :-)
elle n'a pas d'autre but que d'être didactique. Merci de me
laisser les quelque pauvres malheureux points qui me restent!
* AMIS : Anti Macros Inutilement Superfétatoires

Anacoluthe
« Je ne cherche pas à connaître les réponses,
je cherche à comprendre les questions. »
- CONFUCIUS



Avatar
JièL Goubert
Bonjoir(c) Anacoluthe

Le 08/05/2005 18:55 vous avez écrit ceci :
Bonjour !

Je n'ai rien compris du pourquoi du comment de votre question :-(


je n'avais rien compris moi non plus, ça me rassure ;-)

**** Joker AMIS* : cette macro est hyper-ultra-superfétatoire :-)
elle n'a pas d'autre but que d'être didactique. Merci de me
laisser les quelque pauvres malheureux points qui me restent!
* AMIS : Anti Macros Inutilement Superfétatoires


mouaip... c'est bien parceque c'est didactique et que tu as sortie ton
joker ;-)

allez, circulez...

JièL Sur veilleur

Avatar
Geo
Bonjour Anacoluthe


Hello André !

'AB' nous a écrit ...
Ouh là là !!! Tu joues avec le feu, là, mon pôvre !
Et t'auras l'air de quoi quand t'auras grillé tous tes points ???


Pas vu le radar :-p Bientôt bon pour repasser le permis entre AMIS ;-)


Tu pourrais faire une macro qui efface toutes les macros.
Amha ça devrait te faire revenir dans les points.

NB C'est une astuce diabolique pêchée il y a quelques années sur le forum
Excel :
la macro qui s'auto détruit, on ne comprend rien à ce qui s'est passé, on
cherche une macro et - bernique- il n'y en a pas.

--

A+


Avatar
Anacoluthe
Bonjour !

'Clément Marcotte' nous a écrit ...
En passant, tu pourrais en faire une pour insérer une "heure statique"
dans Excel


Euh, je vais pas risquer de perdre des points avec une macro
superfétatoire et en plus pour ces zozos d' Excel !!!! :-D )))

Sur mon XL je fais Ctrl: (rien à voir avec ce que dit l'Aide)

Anacoluthe
« Le culte de l’excellence est la religion des médiocres. »
- Valentin ZORG

Avatar
Geo
Bonjour Anacoluthe


Voici à tout hasard une macro qui écrit une macro
et qui même l'exécute après lui avoir laissé le temps
d'être compilée :

Sub AjouteMacro()
' Ajoute une macro et l'exécute
With ActiveDocument.VBProject.VBComponents("ThisDocument").CodeModule
.InsertLines .CountOfLines + 1, _


[...]

Sauf que là, avec Word 2003, il faut avoir coché la case qui dit qu'on
accorde sa confiance au projet VB.
Sinon couic, arrêt,
va expliquer ça au pauvre utilisateur !

PS ce n'est pas un cas d'école, j'ai ça en Excel et je me demande bien
comment mon successeur va s'en sortir :-D

--

A+