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

4 réponses

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