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

Piloter word depuis Excel

3 réponses
Avatar
GérardJean
Bonjour,

est-il possible depuis Excel d'ouvrir un document Word et de prendre la main
lorsque l'utilisateur lance certaines actions comme par exemple "enregistrer"
ou "quitter".
J'ai essayé la propriété "OnAction", mais Word ne trouve pas les macros

Cdt

3 réponses

Avatar
MichDenis
Dans le haut d'un module standard
Déclaration des variables
Public Wd As Object
Public Dc As Object
Public Wk As Workbook

Procédure définissant les variables.
Dans le reste de ton code peu importe le module tu pourras
utiliser chacun des objects pour les activer, y faire référence,
travailler avec et ce, tant et aussi longtemps que
tu n'auras pas libérer les objects par une ligne de code du type :
Set Wk = Nothing ou set Dc = nothing ou Wd = Nothing

'-------------------------------
Sub TEST()

Set Wk = ThisWorkbook
Set Wd = CreateObject("Word.Application")
Wd.Visible = True ' Or false selon tes désires
Set Dc = Wd.documents.Open("c:denis.doc")

End Sub
'-------------------------------





"GérardJean" a écrit dans le message de news:

Bonjour,

est-il possible depuis Excel d'ouvrir un document Word et de prendre la main
lorsque l'utilisateur lance certaines actions comme par exemple "enregistrer"
ou "quitter".
J'ai essayé la propriété "OnAction", mais Word ne trouve pas les macros

Cdt
Avatar
GérardJean
Merci pour ta réponse, mais à ce niveau je n'ai pas de problème; pour être
plus précis je voudrais par exemple après avoir chargé un document Word
depuis Excel, prendre la main lorque l'utilisateur active le bouton
Enregistrer de Word.

Pour cela, j'ai mis la propriété OnAction ="MaMacro" au niveau du contrôle
"Enregistrer" de la barre standard;

mon problème est que la macro "MaMacro" présente dans un module de
l'application Excel n'est pas trouvée par l'application Word; je ne sais pas
s'il est possible depuis une application Word de lancer une procédure Excel,
et dans l'affirmative, comment le faire.

Cdt


Dans le haut d'un module standard
Déclaration des variables
Public Wd As Object
Public Dc As Object
Public Wk As Workbook

Procédure définissant les variables.
Dans le reste de ton code peu importe le module tu pourras
utiliser chacun des objects pour les activer, y faire référence,
travailler avec et ce, tant et aussi longtemps que
tu n'auras pas libérer les objects par une ligne de code du type :
Set Wk = Nothing ou set Dc = nothing ou Wd = Nothing

'-------------------------------
Sub TEST()

Set Wk = ThisWorkbook
Set Wd = CreateObject("Word.Application")
Wd.Visible = True ' Or false selon tes désires
Set Dc = Wd.documents.Open("c:denis.doc")

End Sub
'-------------------------------





"GérardJean" a écrit dans le message de news:

Bonjour,

est-il possible depuis Excel d'ouvrir un document Word et de prendre la main
lorsque l'utilisateur lance certaines actions comme par exemple "enregistrer"
ou "quitter".
J'ai essayé la propriété "OnAction", mais Word ne trouve pas les macros

Cdt





Avatar
MichDenis
| je voudrais par exemple après avoir chargé un document Word
| depuis Excel, prendre la main lorque l'utilisateur active le bouton
| Enregistrer de Word.

| Pour cela, j'ai mis la propriété OnAction ="MaMacro" au niveau du contrôle
| "Enregistrer" de la barre standard;

C'est loin d'être clair pour moi ....

Tu disais vouloir tout gérer à partir de l'application Excel

Comme tu as une variable Application de Word : Wd dans le code que je t'ai présenté,
si tu veux exécuter une macro dans le fichier Word, tu peux utiliser quelque chose comme

'Ceci dans ta macro dans Excel .... (pas tester explicitement)
Dim X as String
X = "'" & dc.name & "'" & "!MaMacro"
Wd.Application.Run X

'Et tu continues les actions que ta macro doit accomplir !




"GérardJean" a écrit dans le message de news:

Merci pour ta réponse, mais à ce niveau je n'ai pas de problème; pour être
plus précis je voudrais par exemple après avoir chargé un document Word
depuis Excel, prendre la main lorque l'utilisateur active le bouton
Enregistrer de Word.

Pour cela, j'ai mis la propriété OnAction ="MaMacro" au niveau du contrôle
"Enregistrer" de la barre standard;

mon problème est que la macro "MaMacro" présente dans un module de
l'application Excel n'est pas trouvée par l'application Word; je ne sais pas
s'il est possible depuis une application Word de lancer une procédure Excel,
et dans l'affirmative, comment le faire.

Cdt


Dans le haut d'un module standard
Déclaration des variables
Public Wd As Object
Public Dc As Object
Public Wk As Workbook

Procédure définissant les variables.
Dans le reste de ton code peu importe le module tu pourras
utiliser chacun des objects pour les activer, y faire référence,
travailler avec et ce, tant et aussi longtemps que
tu n'auras pas libérer les objects par une ligne de code du type :
Set Wk = Nothing ou set Dc = nothing ou Wd = Nothing

'-------------------------------
Sub TEST()

Set Wk = ThisWorkbook
Set Wd = CreateObject("Word.Application")
Wd.Visible = True ' Or false selon tes désires
Set Dc = Wd.documents.Open("c:denis.doc")

End Sub
'-------------------------------





"GérardJean" a écrit dans le message de news:

Bonjour,

est-il possible depuis Excel d'ouvrir un document Word et de prendre la main
lorsque l'utilisateur lance certaines actions comme par exemple "enregistrer"
ou "quitter".
J'ai essayé la propriété "OnAction", mais Word ne trouve pas les macros

Cdt