copé tableau excel dans un document word (signet)

  • Initiateur de la discussion Initiateur de la discussion sgarnung
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sgarnung

Guest
Bonjour à toutes et à tous
Voila mon problème.
J'ai un tableau dans un fichier excel sur la Feuil1 et je souhaite le copier à un endroit précis d'un fichier word (repéré par le signent TableauExcel).
Je voudrais faire ceci grâce à une macro Excel. Pouvez vous m'aider svp
Tous mes remerciements en tout cas
 
Re : copé tableau excel dans un document word (signet)

Bonjour,

Une piste à adapter :
Code:
Sub ExcelVersWord()

Dim Plage As Range
Dim AppWord As Object
Dim Doc As Object
Dim TableWd As Object
Dim I As Integer
Dim J As Integer
    
    'défini la plage utilisée
    With Worksheets("Feuil1")
    
        Set Plage = .Range(.Cells(1, 1), _
                    .Cells( _
                    .Cells.Find("*", .[A1], -4123, , _
                    1, 2).Row, _
                    .Cells.Find("*", .[A1], -4123, , _
                    2, 2).Column))
                    
    End With
    

    'crée une instance de Word
    Set AppWord = CreateObject("Word.Application")
    
    With AppWord
    
        .Visible = True
        
        'ouvre un document
        Set Doc = .Documents.Open("D:\Test.doc")
        
        With Doc
            
            'crée la table au niveau du signet
            Set TableWd = .Tables.Add(.Bookmarks("TableauExcel").Range, _
                                      Plage.Rows.Count, _
                                      Plage.Columns.Count, _
                                      1, _
                                      1)
            
            With TableWd
            
                'ajoute les valeurs
                For I = 1 To Plage.Rows.Count
                
                    For J = 1 To Plage.Columns.Count
                    
                        .Cell(I, J).Range.Text = Plage(I, J)
                    
                    Next J
                    
                Next I
                
            End With
            
        End With
        
    End With
    
End Sub

Hervé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
22
Affichages
1 K
Réponses
8
Affichages
339
Retour