Bonjour à tous,

Je voulais savoir jusqu'où pouvait aller l'optimisation des blocs With ... End With en VBA.
Je les utilise actuellement en en plaçant un quasiment en début de fonction et en le terminant à la fin, et faisant de nombreux accès entre temps:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Sub exemple()
 
    Dim testRange as Excel.Range
 
    Set testRange = Excel.Range("A1")
    With testRange
        ' Et ici pleins de traitements, avec des boucles, des If,
        ' qui ne portent pas nécessairement sur testRange
        Do While .Value <> vbNullString
            Set testRange =  .Offset(1, 0)
            If .Value <> "Test" Then
                .Value = "Test"
            End If
            ' etc ...
        Loop
    End With
 
End Sub
Merci