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.
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
Vos idées d'accélération seront les bienvenues.