Bonjour à toutes et à tous,
Curiosité: ce code renvoie l'erreur d'exécution 424: Objet requis en surlignant en jaune la partie en gras ci-dessous:
Apparemment, c'est lié à la commande d'avant, car si With n'est pas utilisé, ça fonctionne:
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
29Option Base 1 Sub Test() Dim a As Worksheet Dim b As Worksheet Dim c As Worksheet Dim d As Worksheet Set a = Worksheets("A") Set b = Worksheets("B") Set c = Worksheets("C") Set d = Worksheets("D") Dim fl As Variant fl = Array(a, b, c, d) With fl(1) .Range("A1").Value = "A" End With For i = 1 To 4 fl(i).Activate Next End Sub
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
29Option Base 1 Sub Test() Dim a As Worksheet Dim b As Worksheet Dim c As Worksheet Dim d As Worksheet Set a = Worksheets("A") Set b = Worksheets("B") Set c = Worksheets("C") Set d = Worksheets("D") Dim fl As Variant fl = Array(a, b, c, d) fl(1).Range("A1").Value = "A" For i = 1 To 4 fl(i).Activate Next End Sub
De même, si With est utilisé, mais que la feuille est indiquée par sa variable directe et non par sa position dans une variable tableau (Array), ça fonctionne aussi:
Est-ce que c'est un bogue? Y a-t-il un moyen de le contourner?
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
29Option Base 1 Sub Test() Dim a As Worksheet Dim b As Worksheet Dim c As Worksheet Dim d As Worksheet Set a = Worksheets("A") Set b = Worksheets("B") Set c = Worksheets("C") Set d = Worksheets("D") Dim fl As Variant fl = Array(a, b, c, d) With a.Range("A1").Value = "A" End With For i = 1 To 4 fl(i).Activate Next End Sub








Répondre avec citation
Partager