Macro édition d'un document word depuis Excel
Bonjour à tous,
Je cherche à développer une macro qui puisse me permettre l'action suivante :
J'ai un modèle de contrat sous word avec des "trous" à remplir selon la situation. Je souhaite que ces "trous" se remplissent automatiquement via des cellules spécifiques d'un fichier excel, puis que le nouveau contrat word mis à jour s'enregistre via un chemin spécifique.
J'ai fait une tentative, mais cela ne fonctionne pas. Plusieurs problèmes :
- le modèle de contrat s'ouvre, mais la zone de contrôle de formulaire ne se met pas à jour
- à la ligne "sauvegarde du devis généré", j'ai l'erreur 5941 'Erreur définie par l'application ou par l'objet'.
J'ai bien activité la bibliothèque de référence.
Côté word j'ai fait la manip suivante :
Développeur > formulaires hérités > zone d'édition (contrôles de formulaires) > Type : Texte ordinaire ; Texte par défaut : Nom_Client
Voici le code version simplifiée (j'ai laissé que la variable du nom client pour plus de lisibilité) :
Sub CreerDevis()
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
' Initialise Word
Set wordApp = New Word.Application
wordApp.Visible = True
' Ouverture du modèle de devis
Set wordDoc = wordApp.Documents.Open("C:\Users\Marine\Downloads\devis.docx")
' Remplissage des champs du modèle avec les données du classeur Excel
With wordDoc
.FormFields("Nom_Client").Result = Range("A1").Value
End With
' Sauvegarde du devis généré
wordDoc.SaveAs "C:\Users\Marine\Downloads\devis_généré.docx"
' Fermeture du document
wordDoc.Close
' Fermeture de Word
wordApp.Quit
End SubEdit modo : merci de mettre le code entre balises SVP avec le bouton </>
Merci d'avance pour vos retours !
Bonjour Lirvam,
je vous invite à relire la charte du forum [A LIRE AVANT DE POSTER] et notamment :
- Pour plus de lisibilité, utilisez la fonctionnalité (bouton) </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
A+
Merci pour le rappel et la modification de mon post !