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

Ajouter Macro dans Word

8 réponses
Avatar
StephaneB
Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je dispose du
code.
2- Comment ajouter une barre d'outils et le bouton associé à la macro.

D'avance Merci

8 réponses

Avatar
Fred
Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé, ou
seulement pour un document (ou bien un modèle de document) bien précis ?
La manip n'est pas tout à fait la même.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT

Avatar
StephaneB
Bonjour,

c'est à ajouter dans le normal.dot donc dispo pour tous les documents créés

Merci


Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé, ou
seulement pour un document (ou bien un modèle de document) bien précis ?
La manip n'est pas tout à fait la même.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT





Avatar
Fred
Dans le message:,
StephaneB écrit:


Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la
macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé, ou
seulement pour un document (ou bien un modèle de document) bien
précis ? La manip n'est pas tout à fait la même.

Bonjour,


c'est à ajouter dans le normal.dot donc dispo pour tous les documents
créés

Merci



Bonjour,
Dans ce cas, à partir d'un document quelconque, tu vas dans Outils,
macros, visual basic editor.
Tu dois avoir une fenêtre projet, sinon -> Affichage, explorateur de
projet
Tu cliques bouton droit sur *Normal* et tu choisis insertion module
Et tu colles ton code dans le document Module1 (Module1 par défaut,
sinon tu peux le renommer dans la fenêtre propriétés)

Ensuite, pour les boutons, cela se passe par la personnalisation d'une
barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT



Avatar
François Rivierre
Ensuite, pour les boutons, cela se passe par la personnalisation d'une
barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


Il y a aussi la possibilité de créer par le code une nouvelle barre
d'outils, lors de l'ouverture du document :

(A coller dans le module "ThisDocument" :)

8< -----------------------------------------------------------

Private Sub Document_Open()
' Création d'une nouvelle barre d'outils
Application.CommandBars.Add(Name:="Mes outils").Visible = True
With Application.CommandBars("Mes outils")
.Position = msoBarTop
End With

' Ajout d'un nouveau bouton...
Application.CommandBars("Mes outils").Controls.Add
Type:=msoControlButton, ID:= _
2522, Before:=1
' ... puis personnalistion du bouton
With Application.CommandBars("Mes outils").Controls(1)
.Caption = "Ouvrir"
.FaceId = 455
.TooltipText = "Lance mon outil"
.BeginGroup = False
.DescriptionText = "Mes outils : lance mon outil"
.OnAction = "MaMacro" ' Ici, le lien vers la macro à lancer lors du
click
End With

End Sub

Private Sub Document_Close()
' On n'oublie pas de supprimer la barre d'outils en sortant !
Application.CommandBars("Mes outils").Delete
End Sub

8< --------------------------------------------------------

Ca permet de pouvoir utiliser le document sur n'importe quel ordinateur,
sans avoir à gérer les barre d'outils manuellement. A noter que pour que ça
fonctionne, le niveau de sécurité doit être défini à "moyen", et pas sur
"haut".

Cordialement,

François RIVIERRE

Avatar
StephaneB
Bonjour,

Merci pour ta réponse, mais le problème n'est pas de l'ajouter par Visual
Basic Editor mais par un script VB, je ne l'avais pas précisé dans la
question...

Stéphane




Dans le message:,
StephaneB écrit:


Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la
macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé, ou
seulement pour un document (ou bien un modèle de document) bien
précis ? La manip n'est pas tout à fait la même.

Bonjour,


c'est à ajouter dans le normal.dot donc dispo pour tous les documents
créés

Merci



Bonjour,
Dans ce cas, à partir d'un document quelconque, tu vas dans Outils,
macros, visual basic editor.
Tu dois avoir une fenêtre projet, sinon -> Affichage, explorateur de
projet
Tu cliques bouton droit sur *Normal* et tu choisis insertion module
Et tu colles ton code dans le document Module1 (Module1 par défaut,
sinon tu peux le renommer dans la fenêtre propriétés)

Ensuite, pour les boutons, cela se passe par la personnalisation d'une
barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT







Avatar
StephaneB
Bonjour,

Merci pour cette réponse qui pourra constituer la deuxième partie du
travail, la première étant d'ajouter la macro dans Word par script.

Stéphane


Ensuite, pour les boutons, cela se passe par la personnalisation d'une
barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


Il y a aussi la possibilité de créer par le code une nouvelle barre
d'outils, lors de l'ouverture du document :

(A coller dans le module "ThisDocument" :)

8< -----------------------------------------------------------

Private Sub Document_Open()
' Création d'une nouvelle barre d'outils
Application.CommandBars.Add(Name:="Mes outils").Visible = True
With Application.CommandBars("Mes outils")
.Position = msoBarTop
End With

' Ajout d'un nouveau bouton...
Application.CommandBars("Mes outils").Controls.Add
Type:=msoControlButton, ID:= _
2522, Before:=1
' ... puis personnalistion du bouton
With Application.CommandBars("Mes outils").Controls(1)
.Caption = "Ouvrir"
.FaceId = 455
.TooltipText = "Lance mon outil"
.BeginGroup = False
.DescriptionText = "Mes outils : lance mon outil"
.OnAction = "MaMacro" ' Ici, le lien vers la macro à lancer lors du
click
End With

End Sub

Private Sub Document_Close()
' On n'oublie pas de supprimer la barre d'outils en sortant !
Application.CommandBars("Mes outils").Delete
End Sub

8< --------------------------------------------------------

Ca permet de pouvoir utiliser le document sur n'importe quel ordinateur,
sans avoir à gérer les barre d'outils manuellement. A noter que pour que ça
fonctionne, le niveau de sécurité doit être défini à "moyen", et pas sur
"haut".

Cordialement,

François RIVIERRE






Avatar
Fred
Dans le message:,
StephaneB écrit:

Dans le message:,
StephaneB écrit:


Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la
macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé,
ou seulement pour un document (ou bien un modèle de document) bien
précis ? La manip n'est pas tout à fait la même.

Bonjour,


c'est à ajouter dans le normal.dot donc dispo pour tous les
documents créés

Merci



Bonjour,
Dans ce cas, à partir d'un document quelconque, tu vas dans Outils,
macros, visual basic editor.
Tu dois avoir une fenêtre projet, sinon -> Affichage, explorateur de
projet
Tu cliques bouton droit sur *Normal* et tu choisis insertion module
Et tu colles ton code dans le document Module1 (Module1 par défaut,
sinon tu peux le renommer dans la fenêtre propriétés)

Ensuite, pour les boutons, cela se passe par la personnalisation
d'une barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


Bonjour,

Merci pour ta réponse, mais le problème n'est pas de l'ajouter par
Visual Basic Editor mais par un script VB, je ne l'avais pas précisé
dans la question...


Ah ! J'avoue que j'ai hésité.
Dans ce cas voilà un petit exemple de code :
8<-----------------------
Dim oVBComponent As VBComponent
For Each oVBComponent In oDoc.VBProject.VBComponents
If oVBComponent.Name = "Macros" Or oVBComponent.Name = "InitEnv"
Then
oDoc.VBProject.VBComponents.Remove oVBComponent
End If
Next
With oDoc.VBProject.VBComponents
ModulePath = oFile.ParentFolder.Path & "Macros.bas"
Set oVBComponent = .Import(ModulePath)
oVBComponent.Name = "Macros"
ModulePath = oFile.ParentFolder.Path & "InitEnv.bas"
Set oVBComponent = .Import(ModulePath)
oVBComponent.Name = "InitEnv"
End With
8<-----------------------------
A adapter bien sûr. Ici je mets à jour les macros du modèle courant, pas
du modèle Normal.
Le "oFile", c'est le fichier que je traite (en fait ce bout de code
était utilisé pour metre un jour tout un tas de modèles .DOT)
Et pour la barre d'outils par code, j'ai vu que tu as le nécessaire déjà
:-)


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT





Avatar
StephaneB
Merci,

je teste dès que j'ai un moment...


Dans le message:,
StephaneB écrit:

Dans le message:,
StephaneB écrit:


Dans son message
StephaneB nous dit :

Bonjour,

1- Comment faire pour ajouter dans Word (2000) une macro dont je
dispose du code.
2- Comment ajouter une barre d'outils et le bouton associé à la
macro.

D'avance Merci


Bonsoir,
C'est une macro qui doit être disponible pour tout document créé,
ou seulement pour un document (ou bien un modèle de document) bien
précis ? La manip n'est pas tout à fait la même.

Bonjour,


c'est à ajouter dans le normal.dot donc dispo pour tous les
documents créés

Merci



Bonjour,
Dans ce cas, à partir d'un document quelconque, tu vas dans Outils,
macros, visual basic editor.
Tu dois avoir une fenêtre projet, sinon -> Affichage, explorateur de
projet
Tu cliques bouton droit sur *Normal* et tu choisis insertion module
Et tu colles ton code dans le document Module1 (Module1 par défaut,
sinon tu peux le renommer dans la fenêtre propriétés)

Ensuite, pour les boutons, cela se passe par la personnalisation
d'une barre d'outils (outils personnaliser).
Dans la boîte de personnalisation, onglet Commandes
Liste de gauche : Macros.
Liste de droite : tu prends la macros qui t'intéresses et tu la fait
glisser dans une barre d'outils (ou un menu d'ailleurs).
Avec le bouton droit tu peux ensuite personnaliser le bouton et/ou le
texte affiché.


Bonjour,

Merci pour ta réponse, mais le problème n'est pas de l'ajouter par
Visual Basic Editor mais par un script VB, je ne l'avais pas précisé
dans la question...


Ah ! J'avoue que j'ai hésité.
Dans ce cas voilà un petit exemple de code :
8<-----------------------
Dim oVBComponent As VBComponent
For Each oVBComponent In oDoc.VBProject.VBComponents
If oVBComponent.Name = "Macros" Or oVBComponent.Name = "InitEnv"
Then
oDoc.VBProject.VBComponents.Remove oVBComponent
End If
Next
With oDoc.VBProject.VBComponents
ModulePath = oFile.ParentFolder.Path & "Macros.bas"
Set oVBComponent = .Import(ModulePath)
oVBComponent.Name = "Macros"
ModulePath = oFile.ParentFolder.Path & "InitEnv.bas"
Set oVBComponent = .Import(ModulePath)
oVBComponent.Name = "InitEnv"
End With
8<-----------------------------
A adapter bien sûr. Ici je mets à jour les macros du modèle courant, pas
du modèle Normal.
Le "oFile", c'est le fichier que je traite (en fait ce bout de code
était utilisé pour metre un jour tout un tas de modèles .DOT)
Et pour la barre d'outils par code, j'ai vu que tu as le nécessaire déjà
:-)


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT