Marcro et Fusion d'un tableau Excel dans Word - VB/VBA/VBS - Programmation
Marsh Posté le 25-09-2005 à 14:45:37
Bon cet exemple est fait avec 3 tableaux dans word ( 1 de 20 lignes, 5 colonnes, un de 2 lignes, 5 colonnes et un de 10 lignes et 5 colonnes )
Le tout est d'avoir le même parcours dans Excel que dans word !
A savoir que dans word, le premier tableau à l'indice 1 le deuxième 2...etc..
J'espère que ca t'aideras..
@+ Fred
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
' C'est ici que tu as les colonnes et tableaux dans word
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
Marsh Posté le 25-09-2005 à 14:47:43
Nota :
Tu peux mettre en commentaire la ligne
Rng.Offset(j, i).Select
Ca ne sert qu'a voir là ou tu en es dans excel...
Marsh Posté le 23-09-2005 à 14:19:53
Salut @ tous,
je souhaite faire une macro qui me prend un tableau Excel (certaine colones) et qui me copie ces colones dans un tableau word.
Seulement en Word je ne sais pas comment donner de nom à mon tableau pour dire à Excel c'est ce tableau là dans lequel tu copies les cellules voulues.
Si quelqu'un sait ou à une idée ça serait vraiment sympa, car la je cherche depuis un bout de temps, et dans les tutoriaux y pas grand chose là dessus.
Merci
pretorienx