1 pièce(s) jointe(s)
VBA macro à chaque ouverture, c'est possible ?
Bonjour
Je sais comment faire une macro lancée automatiquement à l'ouverture d'un document.
Mais cette macro doit etre intégrée à ce document.
Comment déclencher une macro à l'ouverture de n'importe quel document ?
Donc sans inclure de code dans ce document...
J'ai adapté pour les tests la solution:
https://heureuxoli.developpez.com/of...ba-word/#LII-C
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Public WithEvents App As word.Application
'Private Sub App_DocumentOpen(ByVal Doc As Document)
'MsgBox "Automatique lancé par OPEN"
'End Sub
Private Sub App_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)
MsgBox "Automatique lancé par winactivate"
End Sub
Sub document_open()
Set App = word.Application
End Sub |
Mais j'ai un déclenchement pour chaque document présent!
cad:
j'ouvre un premier doc > tout va bien un seul message (open ou winactivate)
j'ouvre un deuxieme doc > a nouveau affichage de msgbox mais 2 fois !
j'ouvre un troisieme doc > 3 msgbox successifs...
si on fait:
Code:
1 2 3
| Private Sub App_WindowActivate(ByVal Doc As Document, ByVal Wn As Window)
MsgBox ActiveDocument & "Automatique lancé par winactivate"
End Sub |
si on a n documents on a n fois le bon nom de la fenetre en premier plan!
c'est normal ?
ex, avec 3 documents:
Pièce jointe 637032
peut on avoir 1 seul declenchement ?
Merci de vos lumières