[VBA] Piloter Word à partir d'Excel
mario90
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
epaminondas -
epaminondas -
Bonjour,
Je désire effectuer la chose suivante :
Sous Excel j'ai une liste de données dans un tableau
Donnée 1
Donnée 2
Donnée 3
Donnée 4
Je voudrai qu'en cliquant sur un bouton de ma feuille Excel, je constitue un fichier Word à partir d'un modèle où j'aurai x chapitres en titre 1 correspondants aux x données de ma feuille Excel (Donnée 1, Donnée 2...)
J'ai commencé à écrire ma macro :
Sub PiloterWord()
Dim DocWord As Object
Set DocWord = CreateObject("Word.Application")
donnee = Worksheets("Paramètres").Cells(16, 6).Value
' Création d'un nouveau document :
DocWord.Documents.Open "C:\Documents and Settings\toto\Mes documents\Modele.doc"
' aller en fin de document
DocWord.Selection.EndKey Unit:=wdStory
DocWord.Selection.TypeText donnee
DocWord.ActiveDocument.SaveAs "C:\Documents and Settings\toto\Mes documents\Modele2.doc"
' Fermeture de ce document :
DocWord.ActiveDocument.Close
Set DocWord = Nothing
End Sub
Le problème est que dès que la macro arrive à l'instruction pour se placer en fin de document (commande DocWord.Selection.EndKey Unit:=wdStory) elle plante en indiquant
"Erreur d'exécution '4120' - Paramètre incorrect"
Lorsque j'enlève cette commande, il écrit la donnée en tout début de document, ce qui n'est pas le but recherché puisque je part d'un modèle où figurent d'jà des informations générales.
Merci de votre aide
Pour info, je suis sous office 2000.
Merci
Je désire effectuer la chose suivante :
Sous Excel j'ai une liste de données dans un tableau
Donnée 1
Donnée 2
Donnée 3
Donnée 4
Je voudrai qu'en cliquant sur un bouton de ma feuille Excel, je constitue un fichier Word à partir d'un modèle où j'aurai x chapitres en titre 1 correspondants aux x données de ma feuille Excel (Donnée 1, Donnée 2...)
J'ai commencé à écrire ma macro :
Sub PiloterWord()
Dim DocWord As Object
Set DocWord = CreateObject("Word.Application")
donnee = Worksheets("Paramètres").Cells(16, 6).Value
' Création d'un nouveau document :
DocWord.Documents.Open "C:\Documents and Settings\toto\Mes documents\Modele.doc"
' aller en fin de document
DocWord.Selection.EndKey Unit:=wdStory
DocWord.Selection.TypeText donnee
DocWord.ActiveDocument.SaveAs "C:\Documents and Settings\toto\Mes documents\Modele2.doc"
' Fermeture de ce document :
DocWord.ActiveDocument.Close
Set DocWord = Nothing
End Sub
Le problème est que dès que la macro arrive à l'instruction pour se placer en fin de document (commande DocWord.Selection.EndKey Unit:=wdStory) elle plante en indiquant
"Erreur d'exécution '4120' - Paramètre incorrect"
Lorsque j'enlève cette commande, il écrit la donnée en tout début de document, ce qui n'est pas le but recherché puisque je part d'un modèle où figurent d'jà des informations générales.
Merci de votre aide
Pour info, je suis sous office 2000.
Merci
A voir également:
- [VBA] Piloter Word à partir d'Excel
- Word et excel gratuit - Guide
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Liste déroulante excel - Guide
- Espace insécable word - Guide
2 réponses
Bonjour,
voilà ce que j'utilise. Si cela peux t'aider.
Dim appword As Word.Application
Set appword = New Word.Application
Application.DisplayAlerts = True
appword.ShowMe
appword.Visible = True
appword.Documents.Open Filename:="C:/Experts"
'va en fin de fichier
appword.Selection.EndKey Unit:=wdStory
Salut
voilà ce que j'utilise. Si cela peux t'aider.
Dim appword As Word.Application
Set appword = New Word.Application
Application.DisplayAlerts = True
appword.ShowMe
appword.Visible = True
appword.Documents.Open Filename:="C:/Experts"
'va en fin de fichier
appword.Selection.EndKey Unit:=wdStory
Salut