Bonjour
Voilà, j'ai un bout de programme VBA word dans un ensempble qui prend beaucoup trop de temps à s'exécuter.
Contexte : on est dans un tableau et je veux remplacer la couleur de toutes les bordures existantes par une autre couleur. Je teste donc chaque cellule puis chaque type de bordure pour voir si elle existe et lui appliquer une couleur donnée. mais c'est beaucoup trop long. Prendre en compte que là où il n'y a pas de trait, il ne faut pas en créer un... Ce serait trop simple.
Vos idées d'accélération seront les bienvenues.
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
30
31
32
33
34
35
36
37 Sub a_Tableau_Mise_en_forme2() Dim I, J, Max As Integer Max = mytable.Rows.count On Error Resume Next For I = 1 To Max For J = 1 To mytable.Columns.count mytable.Cell(I, J).Select With Selection With .Borders(wdBorderLeft) If .LineStyle <> wdLineStyleNone Then .Color = 10375424 .LineWidth = wdLineWidth025pt End If End With With .Borders(wdBorderRight) If .LineStyle <> wdLineStyleNone Then .Color = 10375424 .LineWidth = wdLineWidth025pt End If End With With .Borders(wdBorderTop) If .LineStyle <> wdLineStyleNone Then .Color = 10375424 .LineWidth = wdLineWidth025pt End If End With With .Borders(wdBorderBottom) If .LineStyle <> wdLineStyleNone Then .Color = 10375424 .LineWidth = wdLineWidth025pt End If End With End With Next Next End Sub
Partager