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

Mikaconny -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   729
 
0
Mikaconny
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   61
 
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
Mikaconny
 
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   Statut Membre Dernière intervention   61
 
C'est à dire ne reproduit pas la mise en page souhaitée?
0
mikaconny Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   61
 
Désolé je n'ai pas de solution pour ça... Quelqu'un peut-il apporter son aide?
0