Copier et coller une sélection dans EXCEL vers un doc WORD

Fermé
Mikaconny - 16 juil. 2015 à 13:30
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 21 juil. 2015 à 15:04
Bonjour,
je cherche un moyens au travers de VBA , pour copier une sélection dans EXCEL et la coller dans WORD. Merci d'avance pour vos solutions


A voir également:

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
16 juil. 2015 à 15:35
0
En fait, je souhaiterais à l'aide d'un "CommandButton", copier un tableau ou une plage de cellule sur Excel en VBA, ouvrir en parallèle un fichier Word et collet ma sélection... j'ai beau chercher sur le net, je ne trouve pas...
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
17 juil. 2015 à 10:22
Salut à toi !

Ce code devrait faire l'affaire dans le cas où ton tableau peut être variable et le document Word sera enregistré dans C:\

Sub Copier_Coller_Word()

    
    Set Source = ThisWorkbook

    DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'détermine la dernière ligne du tableau (en prenant comme référence la colonne A

    
    Nomdufichier = InputBox("Nom du fichier", "Saisie") 'enregistre le fichier sous le nom donné


Dim varDoc As Object

        Set varDoc = CreateObject("Word.Application")

                  varDoc.Visible = True

                  Sheets(1).Range("A1:C" & DL).Copy 'selection du tableau (à adapter, C étant ici la dernière colonne)

                  varDoc.Documents.Add

                  varDoc.Selection.Paste 'recopie dans le document Word
                  
                  Application.CutCopyMode = False

                  varDoc.ActiveDocument.SaveAs ThisWorkbook.Path & "/" & Nomdufichier & ".doc" 'Enregistre le fichier sous le nom donné dans la InputBox

        Set varDoc = Nothing

        Set Source = Nothing 'Les 2 lignes permettent de libérer la mémoire

               

End Sub
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
17 juil. 2015 à 10:23
Sub Copier_Coller_Word()

    
    Set Source = ThisWorkbook

    DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'détermine la dernière ligne du tableau (en prenant comme référence la colonne A

Dim varDoc As Object

        Set varDoc = CreateObject("Word.Application")

                  varDoc.Visible = True

                  Sheets(1).Range("A1:C" & DL).Copy 'selection du tableau (à adapter, C étant ici la dernière colonne)

                  varDoc.Documents.Add

                  varDoc.Selection.Paste 'recopie dans le document Word
                  
                  Application.CutCopyMode = False

        Set varDoc = Nothing

        Set Source = Nothing 'Les 2 lignes permettent de libérer la mémoire

               
End Sub


Si tu ne souhaite pas enregistrer.
0
Merci beaucoup, ça marche mais ne reproduit pas exactement la mise en page souhaitée.
Est-il possible de faire de même avec Excel. C'est a dire de copier une feuille à l'identique, ouvrir un nouveau fichier Excel et coller la feuille ou la sélection ?
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
17 juil. 2015 à 17:35
C'est à dire ne reproduit pas la mise en page souhaitée?
0
mikaconny Messages postés 14 Date d'inscription samedi 11 juillet 2015 Statut Membre Dernière intervention 19 juillet 2015
19 juil. 2015 à 14:14
C'est à dire que sur Excel, j'ai tableau en format paysage, quand j'applique le code, il copie et colle dans un fichier Word mais au format initiale soit portrait... il n'est pas centré, il déborde? Pourtant, j'ai préparé le paramétrage de ma feuille Word...
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
21 juil. 2015 à 15:04
Désolé je n'ai pas de solution pour ça... Quelqu'un peut-il apporter son aide?
0