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

Vba : ajout auto de macro dans normal.dot

1 réponse
Avatar
Jac
Bonjour à tous,

j'aimerais rajouter une macro au normal.dot du pc sur lequel j'ouvre un
fichier de configuration dont ce serait le seul job. C'est sûr que si la
macro existe déjà, il n'est pas forcément nécessaire de la dupliquer, mais
si "ça" la remplace, ce n'est pas un problème.

Est-ce possible ?

Merci d'avance à ceux qui me mettront sur la voie.

Jac

1 réponse

Avatar
Garette
Bonsoir,

Soit un document Doc1.doc contenant un Module nommé MonModule (qui contient
une ou des macros)
Le code suivant associé à l'evenement Open de Doc1.doc, permet de copier le
module MonModule dans le Normal.dot à l'ouverture de Doc1.doc.

Private Sub Document_Open() 'Ce code ne copie MonModule que s'il n'existe
pas dans Normal.dot
Y = 0
For Each X In NormalTemplate.VBProject.VBComponents
If X.Name = "MonModule" Then Y = 1
Next
If Y = 0 Then
Application.OrganizerCopy _
Source:¬tiveDocument.FullName, _
Destination:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End If
End Sub


Si on veut détruire le module MonModule à chaque ouverture de Doc1.doc (pour
etre sur d'avoir la derniere mise à jour du code situé dans MonModule par
exemple) :

Private Sub Document_Open() 'Ce code supprime MonModule s'il existe dans
Normal.dot et copie le nouveau MonModule dans le Normal.dot
For Each X In NormalTemplate.VBProject.VBComponents
If X.Name = "MonModule" Then
Application.OrganizerDelete _
Source:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End If
Next
Application.OrganizerCopy _
Source:¬tiveDocument.FullName, _
Destination:=NormalTemplate.FullName, _
Name:="MonModule", Object:=wdOrganizerObjectProjectItems
End Sub





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

Bonjour à tous,

j'aimerais rajouter une macro au normal.dot du pc sur lequel j'ouvre un
fichier de configuration dont ce serait le seul job. C'est sûr que si la
macro existe déjà, il n'est pas forcément nécessaire de la dupliquer, mais
si "ça" la remplace, ce n'est pas un problème.

Est-ce possible ?

Merci d'avance à ceux qui me mettront sur la voie.

Jac