Lone-wolf
XLDnaute Barbatruc
Bonjour à tous
Voici la macro pour copier et mettre en forme un tableau dans Word
Ma question est: est-ce qu'il y a un moyen d'éviter les boucles pour la mise en forme du tableau?
Voici la macro pour copier et mettre en forme un tableau dans Word
Code:
Sub CopierTableau()
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim fichier As String
Dim B, C, P
'Chemin du doc dans le même dossier qu'Excel
fichier = ThisWorkbook.Path & "\Modele.doc"
Set AppWord = New Word.Application
AppWord.Visible = True
Application.DisplayAlerts = False
Application.WindowState = xlMinimized
'Copie les données Excel
ThisWorkbook.Worksheets("Feuil1").Range("A1").CurrentRegion.Copy
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open(fichier, ReadOnly:=False)
'Colle les données dans Word
DocWord.Range.Paste
'Appliquer les bordures + formatage
With DocWord
'Ajustement automatique des lignes et des colonnes
.Tables(1).AutoFitBehavior wdAutoFitWindow
.Tables(1).AllowAutoFit = True
Application.ScreenUpdating = False
'Traitement des lignes contour du tableau
For B = -4 To -1
With .Range.Borders(B)
.Visible = True
.Color = wdColorDarkRed
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth025pt
End With
Next
'Traitement des colonnes
For Each C In .Tables(1).Range.Columns
With C.Borders(wdBorderHorizontal)
.Visible = True
.Color = wdColorGray125
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
End With
Next
'Traitement des lignes
For Each L In .Tables(1).Range.Rows
With L.Borders(wdBorderVertical)
.Visible = True
.Color = wdColorGray125
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
End With
Next
End With
'Supprime la sélection dans Excel
Application.CutCopyMode = False
'Enregistre les modifications
DocWord.Save
Application.WindowState = xlNormal
'Ferme le document
'AppWord.Application.Quit
End Sub
Ma question est: est-ce qu'il y a un moyen d'éviter les boucles pour la mise en forme du tableau?
Pièces jointes
Dernière édition: