Copier un tableau dans une feuille word Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
c
catherine ROBE
Jeune membre
Jeune membre
Messages : 14
Inscrit le : 7 février 2018
Version d'Excel : 2016

Message par catherine ROBE » 15 février 2018, 17:23

Bonjour,

J'ai essayé de coller avec liaison sauf que le tableau croisé dynamique bouge au niveau du nombre de lignes lorsque je sélectionne un client (il peut y avoir 5 lignes, ensuite pour un autre client 1 ligne etc) .

Il faudrait que dans mon copier /coller avec liaison, qu'il prenne en considération le mouvement du nombre de lignes du tableau.
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'726
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 16 février 2018, 01:01

Bonjour,

j'ai ajouté un test à la macro, pour vérifier s,il y a un tableau sur la feuille, si le test est vrai le tableau est supprimer puis le nouveau tableau est coller.
à tester
Sub copier_sur_SignetDocWord()
'necesite d'activer la reference Microsoft Word xx.x Object Library
Dim appWrd As Word.Application
Dim docWord As Word.Document
Dim Fichier As String
 
Fichier = ThisWorkbook.Path & "\catherine ROBE-Lettre de relance.docx"    'à adapter
 
Set appWrd = CreateObject("Word.Application") 'creation session Word
appWrd.Visible = True
Set docWord = appWrd.Documents.Open(Fichier)
 
Sheets("TCD").Range("A4").CurrentRegion.Copy

On Error Resume Next
docWord.Tables(1).Select
    If Err.Number <> 0 Then
      ActiveDocument.Tables(1).Delete
      Err.Clear
      docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=False
    Else
      docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=True, RTF:=False
    End If

Application.CutCopyMode = False

docWord.Save
docWord.Close
appWrd.Quit
End Sub
Vive ces nouvelles saisons qui nous colorent.
isabelle
c
catherine ROBE
Jeune membre
Jeune membre
Messages : 14
Inscrit le : 7 février 2018
Version d'Excel : 2016

Message par catherine ROBE » 16 février 2018, 10:36

Bonjour,

Il y a encore un petit soucis sur la recopie du word, il ne le fait pas correctement. Je le mets en pièce jointe pour que vous puissiez voir le rendu.

Si je ne veux pas que le word se ferme automatiquement, je peux mettre sous forme de commentaire ces 2 lignes :

'docWord.Close
'appWrd.Quit

Merci
catherine ROBE-Lettre de relance.docx
(15.59 Kio) Téléchargé 4 fois
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'726
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 16 février 2018, 14:23

est ce que c'est mieux avec l’argument WordFormatting = False ?

ÉDIT:

voici la correction,
Sub copier_sur_SignetDocWord()
'necesite d'activer la reference Microsoft Word xx.x Object Library
Dim appWrd As Word.Application
Dim docWord As Word.Document
Dim Fichier As String
 
Fichier = ThisWorkbook.Path & "\catherine ROBE-Lettre de relance.docx"    'à adapter
 
Set appWrd = CreateObject("Word.Application") 'creation session Word
appWrd.Visible = True
Set docWord = appWrd.Documents.Open(Fichier)
 
Sheets("TCD").Range("A4").CurrentRegion.Copy

On Error Resume Next
docWord.Tables(1).Select
    If Err.Number <> 0 Then
      Err.Clear
      docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
      docWord.Tables(1).AutoFitBehavior (wdAutoFitWindow)
    Else
    docWord.Tables(1).Delete
      docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
      docWord.Tables(1).AutoFitBehavior (wdAutoFitWindow)
    End If

Application.CutCopyMode = False

docWord.Save
docWord.Close
appWrd.Quit
End Sub
Vive ces nouvelles saisons qui nous colorent.
isabelle
c
catherine ROBE
Jeune membre
Jeune membre
Messages : 14
Inscrit le : 7 février 2018
Version d'Excel : 2016

Message par catherine ROBE » 16 février 2018, 15:48

Bonjour,

Oui sa fonctionne très bien, mais est-il possible que le word ne se ferme pas automatiquement car lorsque j'ai 30 courriers à faire je suis obligée à chaque fois de l'ouvrir.

Ne peut-il pas faire la même action tout en restant ouvert ?

En tous cas c'est génial merci beaucoup.

Catherine
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'726
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 16 février 2018, 16:46

je suis obligée à chaque fois de l'ouvrir.
vous n'êtes pas obligé d'ouvrir Word, la macro s'en charge, on pourrait même le faire sans que cela soit visible à l'écran
en remplacent
appWrd.Visible = True
par
appWrd.Visible = False
Vive ces nouvelles saisons qui nous colorent.
isabelle
c
catherine ROBE
Jeune membre
Jeune membre
Messages : 14
Inscrit le : 7 février 2018
Version d'Excel : 2016

Message par catherine ROBE » 19 février 2018, 09:26

Merci de votre patience et de votre aide. tout est parfait.

Un grand merci et bonne journée.
Avatar du membre
i20100
Passionné d'Excel
Passionné d'Excel
Messages : 5'726
Appréciations reçues : 333
Inscrit le : 16 mars 2017
Version d'Excel : 2010

Message par i20100 » 23 février 2018, 02:05

Merci pour ce retour, bonne continuation!
Vive ces nouvelles saisons qui nous colorent.
isabelle
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message