Aide pour une macro excel

Aide pour une macro excel - VB/VBA/VBS - Programmation

Marsh Posté le 25-10-2005 à 16:01:45    

Bonjour à tous,
 
J'aimerais avec une macro envoyer un tableau excel dans un doc Word.
 
J'ai réussi à faire cette macro qui fonctionne mais je voudrais spécifier l'endroit où coller mon tabeau dans mon fichier Word. Quelle propiété dois-je utiliser ? Merci d'avance.
 
Ma macro :
 
Sub CopieExcelWord()
Dim PlageACopier As Range
Dim AppWord As Object
Set PlageACopier = Range("mon tableau" )
Set AppWord = CreateObject("Word.Application" )
PlageACopier.Copy
With AppWord
.Visible = True
.Documents.Open (ThisWorkbook.Path & "\Essai.doc" )
.Selection.Paste
End With
End Sub

Reply

Marsh Posté le 25-10-2005 à 16:01:45   

Reply

Marsh Posté le 25-10-2005 à 18:42:28    

J'avais fait ça pour quelqu'un du forum, ça peut t'aider.
 
C'est une recopie de données Excel dans des tableau Word...
En l'occurence 3 Tableaux Excel dans trois trableaux Word existant
 
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 25/09/2005 par Admin
 
Dim maxRows, maxCols, c, t, i, j As Integer
Dim Rng As Range
Dim NbreTableau As Integer
 
 
   
maxRows = 20
maxCols = 5
NbreTableau = 3
 
 
Set Word = CreateObject("Word.Application" )
docWord = Word.Documents.Open("C:\doc1.doc" )
Word.DisplayAlerts = False
Word.Visible = True
     
 
t = 1 ' Tableau Word
c = 1 ' Colone Word
i = 0 ' Colone Excel
j = 0 ' Ligne Excel
ActiveWorkbook.Sheets("Feuil1" ).Select
Set Rng = Feuil1.Range("A1" )
   
While t <= NbreTableau
    While c < maxCols
        j = 0
        For Each acell In Word.ActiveDocument.Tables(t).Columns(c).Cells
            Rng.Offset(j, i).Select
            acell.Range.Text = Rng.Offset(j, i).Value
            j = j + 1
        Next acell
        i = i + 1
        c = c + 1
    Wend
    If c >= maxCols Then
        Select Case t
            Case 1:
                ActiveWorkbook.Sheets("Feuil2" ).Select
                Set Rng = Feuil2.Range("A1" )
                maxRows = 2
                maxCols = 5
            Case 2:
                ActiveWorkbook.Sheets("Feuil3" ).Select
                Set Rng = Feuil3.Range("A1" )
                maxRows = 10
                maxCols = 5
        End Select
         t = t + 1
         c = 1
         i = 0
    End If
    j = 0
     
Wend
   
docWord.Save
docWord.Close
Word.Quit
End Sub

Reply

Marsh Posté le 26-10-2005 à 01:28:02    

Merci pour ta réponse, je vais voir si je peux arriver à mon résultat avec ta macro.
 
Le problème est que je n'ai pas de tableau dans mon doc word à la base. Je souhaite donc coller à des endroits précis de mon document des tableaux (plages de cellules nommées) provenant d'excel avec la mise en forme d'Excel.
 
J'arrive bien à copier ma plage nommée, mais je ne sais pas comment spécifier l'endroit.
 
JP

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed