Aide pour une macro excel - VB/VBA/VBS - Programmation
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
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
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