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

Exécuter une macro Word à partir d'Excel (publipostage)

25 réponses
Avatar
mel63
Bonjour,

Je sais que cette question vous paraitra vu et revue mais cela fait 2 jours que je cherche sur internet et que je n'ai pas trouvé de solution à mon problème.

Je souhaite effectuer un publipostage avec Word à partir de données Excel. Jusque là tout est ok.
J'ai aussi fait une macro Word pour pouvoir créer un fichier word par facture créée. C'est ok aussi.

Sauf que j'aimerai pouvoir lancer ma macro Word à partir d'Excel. J'ai trouvé le code suivant :
Sub Facture()

Dim oWdApp As Word.Application

'Lancer Word
Set oWdApp = CreateObject("Word.Application")

With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
.Documents.Open ("source du doc")
'Exécuter la macro
'.Run "EnregFacture"

End With

'Libérer les ressources
Set oWdApp = Nothing

End Sub

Word s'ouvre bien mais c'est tout ! La macro de Word ne semble pas se lancer ...

En plus de ça, serait-il possible de pouvoir faire le publipostage à partir d'Excel en choisissant les lignes concernées par l'envoi ?

Merci d'avance pour votre aide (je sature !)

5 réponses

1 2 3
Avatar
mel63
Le jeudi 12 Juillet 2018 à 12:16 par mel63 :
Bonjour,
Je sais que cette question vous paraitra vu et revue mais cela fait 2 jours que
je cherche sur internet et que je n'ai pas trouvé de solution à
mon problème.
Je souhaite effectuer un publipostage avec Word à partir de
données Excel. Jusque là tout est ok.
J'ai aussi fait une macro Word pour pouvoir créer un fichier word par
facture créée. C'est ok aussi.
Sauf que j'aimerai pouvoir lancer ma macro Word à partir d'Excel. J'ai
trouvé le code suivant :
Sub Facture()
Dim oWdApp As Word.Application
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
.Documents.Open ("source du doc")
'Exécuter la macro
'.Run "EnregFacture"
End With
'Libérer les ressources
Set oWdApp = Nothing
End Sub
Word s'ouvre bien mais c'est tout ! La macro de Word ne semble pas se lancer
...
En plus de ça, serait-il possible de pouvoir faire le publipostage
à partir d'Excel en choisissant les lignes concernées par l'envoi
?
Merci d'avance pour votre aide (je sature !)
Normalement, la valeur doit être "XXX-Nom de la personne ou société", il n'y a pas de symbole... Je n'ai même pas de message d'erreur.
Une fois la macro exécutée, j'ai un fichier word supplémentaire ouvert qui s'appelle "Lettres types7" par exemple et rien n'est enregistré nulle part.
Avatar
Michd
Juste avant ce bout de code, ajoute la commande "Stop". La procédure va s'arrêter et à l'aide de la
touche "F8", tu exécutes les lignes de code suivante pas à pas.
Stop
With ActiveDocument
.SaveAs "c:temp" & DocName & ".doc"
.Close
End With
Est-ce que le répertoire C:Temp existe vraiment
En passant la souris au-dessus de "DocName" tu va pouvoir voir le nom du document à sauvegarder.
Est-ce que "ActiveDocument" est vraiment celui qui est affiché à l'écran?
Qu'est-ce qui se passe si tu places ce répertoire ici :
c:UsersTon ProfilDocumentsTemp
MichD
Avatar
mel63
Le jeudi 12 Juillet 2018 à 12:16 par mel63 :
Bonjour,
Je sais que cette question vous paraitra vu et revue mais cela fait 2 jours que
je cherche sur internet et que je n'ai pas trouvé de solution à
mon problème.
Je souhaite effectuer un publipostage avec Word à partir de
données Excel. Jusque là tout est ok.
J'ai aussi fait une macro Word pour pouvoir créer un fichier word par
facture créée. C'est ok aussi.
Sauf que j'aimerai pouvoir lancer ma macro Word à partir d'Excel. J'ai
trouvé le code suivant :
Sub Facture()
Dim oWdApp As Word.Application
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
.Documents.Open ("source du doc")
'Exécuter la macro
'.Run "EnregFacture"
End With
'Libérer les ressources
Set oWdApp = Nothing
End Sub
Word s'ouvre bien mais c'est tout ! La macro de Word ne semble pas se lancer
...
En plus de ça, serait-il possible de pouvoir faire le publipostage
à partir d'Excel en choisissant les lignes concernées par l'envoi
?
Merci d'avance pour votre aide (je sature !)
Merci MichD pour ces indications.
Au niveau du stop, si j'ouvre la fenêtre exécution, je peux voir qu'il donne le bon Doc name soit, dans mon exemple : "250-Tarte 1" même si je ne demande pas le 1 mais au pire ce n'est pas très grave.
A ce moment là, il y a un fichier word ouvert en plus de mon fichier de base qui s'appelle "Lettres types1" et qui correspond au fichier à enregistrer.
Et après, c'est comme si les lignes n'existaient pas, quand je demande d'exécuter pas à pas, rien ne se passe, le curseur jaune n'évolue même pas sur les lignes ...
Le répertoire existe bien et j'ai copié le chemin d'accès à partir de l'explorateur de fichiers.
D'ailleurs, je suis dans Users/mon profil/Documents ... Par contre Temp, je ne trouve pas ce que c'est ...
Avatar
mel63
Le jeudi 12 Juillet 2018 à 12:16 par mel63 :
Bonjour,
Je sais que cette question vous paraitra vu et revue mais cela fait 2 jours que
je cherche sur internet et que je n'ai pas trouvé de solution à
mon problème.
Je souhaite effectuer un publipostage avec Word à partir de
données Excel. Jusque là tout est ok.
J'ai aussi fait une macro Word pour pouvoir créer un fichier word par
facture créée. C'est ok aussi.
Sauf que j'aimerai pouvoir lancer ma macro Word à partir d'Excel. J'ai
trouvé le code suivant :
Sub Facture()
Dim oWdApp As Word.Application
'Lancer Word
Set oWdApp = CreateObject("Word.Application")
With oWdApp
'Afficher Word si nécessaire...
.Visible = True
'Ouvrir le document Word
.Documents.Open ("source du doc")
'Exécuter la macro
'.Run "EnregFacture"
End With
'Libérer les ressources
Set oWdApp = Nothing
End Sub
Word s'ouvre bien mais c'est tout ! La macro de Word ne semble pas se lancer
...
En plus de ça, serait-il possible de pouvoir faire le publipostage
à partir d'Excel en choisissant les lignes concernées par l'envoi
?
Merci d'avance pour votre aide (je sature !)
La macro s'est mise à fonctionner pendant un temps et ne fonction plus à nouveau.
Il doit bien y avoir un bug quelque part pour qu'elle ne marche qu'une fois sur 100...
Avatar
Michd
Une suggestion,
Numérise ton disque dur avec "Malwarebytes", il y a peut-être des intrus...
MichD
1 2 3