Copier un tableau dans une feuille word

Bonjour,

Comme préciser précédemment je ne maîtrise pas VBA et j'aurai besoin d'automatiser une tâche.

J'ai une feuille intitulée "TCD", et souhaiterai copier le tableau à partir de la ligne 4 dans un word nommé "lettre de relance" à un endroit précis.(sachant que le tableau "TCD" peut avoir 1 ligne ou 5 ou 20 lignes etc...

Est-il possible de faire cela en VBA.

Si une personne à la gentillesse de me répondre, est-il possible de me mettre des commentaires pour que je puisse essayer de comprendre comment ça se passe en VBA.

Merci d'avance pour celui ou celle qui pourrait intervenir.

Catherine

PS ne tenez pas compte des mises en forme rien n'est finalisé tant que mes programmes ne fonctionnent pas

Bonjour,

voci un exemple utilisant un signet, les 2 fichiers doivent être copier dans le même répertoire,

voir l'explication sur le fichier Word.

dite-moi si ça convient ?

Bonjour,

Merci beaucoup d'avoir répondu à mon problème.

J'ai enregistré les 2 fichiers dans un même répertoire. J'ai bien suivi vos indications au niveau du Word pour signet, atteindre mais quand je clic sur le bouton d'action le programme s'arrête sur cette ligne :

Set docWord = appWrd.Documents.Open(Fichier)

Je suppose que je dois mettre à la place de (Fichier) le nom de ma feuille word ?

Vraiment merci c'est trop sympa, je vais essayer ensuite de comprendre le VBA que vous m'avez écrit

J'ai oublié de vous demander est ce que je peux modifier le nom de ma feuille Excel en le sauvegardant par GRAND LIVRE CLIENTS et modifier mon Word en le sauvegardant sous le nom Relance 1 ?

Est ce que ça ne va pas me bloquer le programme si je modifie les noms des classeurs ?

A +

Bonjour,

il faut adapter le répertoire et le nom du fichier,

Fichier = ThisWorkbook.Path & "\catherine ROBE-Lettre de relance.docx"    'à adapter

pour la 2ème question, la réponse est oui.

BONJOUR?

iL Bloque toujours au même niveau, j'ai modifié le nom de mon word en Relance1 et modificié dans le code VBA mais ca bloque

LORSQUE JE CLIC SUR MON BOUTON D'ACTION MON WORD DOIT ETRE OUVERT OU FERME (J'AI ESSAYE LES 2 FACON MAIS CA BLOQUE TOUJOURS AU MEME ENDROIT.

LE REPERTOIR OU SONT STOCKES LES FICHIERS EST : J:\Cortex\00MyReport Cortex\Compta\CGA

MON CLASSEUR EXCEL A ETE RENOMME GRAND LIVRE CLIENTS ET MON WORD Relance1

DESOLEE DE REFAIRE APPELLE. JE DOIS SUREMENT FAIRE QUELQUE CHOSE QUI N'EST PAS CORRECT.

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 & "\Relance1"    'à adapter

Set appWrd = CreateObject("Word.Application") 'creation session Word
appWrd.Visible = True 'pour que word reste masqué pendant l'operation
Set docWord = appWrd.Documents.Open(Fichier) 'CA BLOQUE ICI

Sheets("TCD").Range("A4").CurrentRegion.Copy
    ' paste the data into Word at the bookmark, set the arguments as needed
docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, _
        WordFormatting:=True, RTF:=False

Application.CutCopyMode = False

docWord.Save
docWord.Close 'fermer le document Word
appWrd.Quit 'fermer la session Word
End Sub

J'ai enfin réussi à positionner mon répertoire :

Fichier = ThisWorkbook.Path & "J:\Cortex\00MyReport Cortex\Compta\CGA\Relance1" 'à adapter

mais maintenant il bloque ici alors que j'ai bien cliquer sur atteindre au niveau de mon signet.

Et la je ne sais pas ce que je dois faire.

Merci d'avance pour votre retour, on avance on avance

docWord.Bookmarks("iciTCD").Range.PasteExcelTable LinkedToExcel:=False, _

WordFormatting:=True, RTF:=False

Bonjour,

mais maintenant il bloque ici alors que j'ai bien cliquer sur atteindre au niveau de mon signet.

cette procedure est uniquement pour vérifier que le signet est à la bonne place.

Bonjour,

Merci cela fonctionne aujourd'hui.

Juste une petite chose, lorsque je clic sur le bouton d'action il me copie bien le tableau dans le word, donc très bien.

Mais si je sélectionne un nouveau client dans ma feuille TCD (tableau croisé dynamique) il me copie le tableau à la suite.

N'est-il pas possible qu'il écrasé le tableau précédent et qu'il copie l'autre ensuite et qu'il ne ferme pas le word car c'est pour faire plusieurs lettre de relance.

Si ce n'est trop demandé. En tous les cas merci beaucoup d'avoir écrit le code VBA ça m'aide déjà énormément dans mon quotidien.

Bon courage.

Bonjour,

il serait peut être mieux de coller le tableau avec liaison (à faire une seule fois manuellement)

le cette manière lorsque le tableau est modifier dans excel, il l.est aussi dans Word.

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.

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

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

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

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

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

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

Un grand merci et bonne journée.

Merci pour ce retour, bonne continuation!

Rechercher des sujets similaires à "copier tableau feuille word"