Objet incorporé - Word

EviLapin -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour à tous,

J'ai un fichier Word incorporé dans mon classeur Excel.
Via une macro exécutée dans Excel, le fichier Word s'ouvre et se remplit avec des données se trouvant dans les différentes feuilles du Classeur.

Problème : quand je ferme le fichier Word, il s'avère qu'il s'est enregistré tout seul avec les modifications !
Du coup, quand je relance la macro, vu que le fichier s'était enregistré tout seul, les données s'accumulent, elles s'écrivent les unes à la suite des autres.

Comment faire pour que le fichier word incorporé ne s'enregistre pas tout seul ?

Merci d'avance

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    0
    1. EviLapin
       
      J'ai répondu.
      Avez-vous une idée concernant ce poste ?
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Suivant l'exemple du site que je t'avais indiqué:

      Option Explicit
      'cochez la référence Microsoft Word 12.0 Object Library
      Private Sub CommandButton1_Click()
      Passage_Excel_Word
      End Sub
      
      Sub Passage_Excel_Word()
       Dim appWord As New Word.Application
       Dim docWord As New Word.Document
      With appWord
         .Visible = True
        Set docWord = appWord.Documents.Open(ThisWorkbook.Path & "\essai.docx")
         .Activate
       End With
      'Dans Word on ajoute une ligne de titre avec une mise en forme
       With appWord.Selection
         .Font.Size = 18
         With .Font
         .Name = "Arial"
         .Size = 16
         .Bold = True
         End With
      'Copier  Excel dans le presse papier
        Range("A1").Copy
      'Coller  dans Word
         .TypeParagraph
         .Paste
       End With
      'Enregistrer le document Word
       With docWord
        '.SaveAs ThisWorkbook.Path & "\essai.docx", Allowsubstitutions:=True  ' c'est cette ligne qui enregistre, mets la en commentaire et tu pourras enregistrer si tu le désires 
      'Dans Word Aperçu avant impression du résultat
         ' .PrintPreview
      'Réinitialiser l'objet
        Set appWord = Nothing
       End With
      End Sub
      


      Voilà
      0