Bonjour à tous,
J'essaye d'obtenir un tableau comme ci-dessous en utilisant des macros VBA depuis Word :
Le nombre de domaine et de sous-domaine par domaine varie en fonction des données extraites depuis un fichier Excel.
Mon problème est que le texte de ces tableaux doit correspondre exactement au formattage ci-dessus (couleur, gras).
Pour le moment, j'ai le code suivant (je ne mets que les parties intéressantes) avec certains de mes essais.
Je cherche ici à mettre la couleur du nom du domaine en rouge (Color 192) et je me suis inspiré des fonctions rechercher/remplacer sur ce modèle : http://heureuxoli.developpez.com/off...placer/#L2-D-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 ''''''''''''''''''' ''ouvrir le fichier excel'' ''''''''''''''''''' Dim chemin, valeur Set exl = CreateObject("excel.application") chemin = ActiveDocument.Path & "\données.xls" exl.Workbooks.Open (chemin) 'exl.Visible = True ''''''''''''''''''''''''''''''''''' ''test pour les lignes du tableau'' ''''''''''''''''''''''''''''''''''' Dim incr, ligne incr = 2 While exl.ActiveWorkbook.Sheets(1).Range("D" & incr) <> "" valeur = exl.ActiveWorkbook.Sheets(1).Range("D" & incr) If incr <> 2 Then 'MsgBox "val: " & valeur & " " & incr Else ActiveDocument.Tables(6).Cell(1, 1).Range.Text = "Domaine : " ActiveDocument.Tables(6).Cell(1, 1).Range.InsertAfter (valeur) ActiveDocument.Tables(6).Cell(1, 1).Range.Select Selection.Find.Format = False Selection.Find.Text = valeur Selection.Find.Execute 'Selection.Font.Color = 192 End If incr = incr + 1 Wend
J'obtiens dans le cas présent une jolie erreur (je pense que cela provient de mon select) :
Quelqu'un aurait-il la solution palliant à cette erreur ou une méthode plus "propre"?
Partager