Bonjour,

J'ai débuté le codage sous VBA depuis pas longtemps, et je rencontre actuellement pour plusieurs de mes codes un problème récurrent.
Lorsque je fais une boucle FOR quelconque, mais répétitive: je sui obligé d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
For i = 1 to 15
  Table1= blabla
Next
 
For i = 1 to 15
  Table2 = blibli
Next
 
etc...
ou encore
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
38
39
40
41
42
43
44
45
 
   For Ne = 2 To 40
    ReDim TabC(3, 1): N°T = N°T + 1
    Select Case Ne
     Case Is = 2:  Result2 Cible, Np, TabC
     Case Is = 3:  Result3 Cible, Np, TabC
     Case Is = 4:  Result4 Cible, Np, TabC
     Case Is = 5:  Result5 Cible, Np, TabC
     Case Is = 6:  Result6 Cible, Np, TabC
     Case Is = 7:  Result7 Cible, Np, TabC
     Case Is = 8:  Result8 Cible, Np, TabC
     Case Is = 9:  Result9 Cible, Np, TabC
     Case Is = 10:  Result10 Cible, Np, TabC
     Case Is = 11:  Result11 Cible, Np, TabC
     Case Is = 12:  Result12 Cible, Np, TabC
     Case Is = 13:  Result13 Cible, Np, TabC
     Case Is = 14:  Result14 Cible, Np, TabC
     Case Is = 15:  Result15 Cible, Np, TabC
     Case Is = 16:  Result16 Cible, Np, TabC
     Case Is = 17:  Result17 Cible, Np, TabC
     Case Is = 18:  Result18 Cible, Np, TabC
     Case Is = 19:  Result19 Cible, Np, TabC
     Case Is = 20:  Result20 Cible, Np, TabC
     Case Is = 21:  Result21 Cible, Np, TabC
     Case Is = 22:  Result22 Cible, Np, TabC
     Case Is = 23:  Result23 Cible, Np, TabC
     Case Is = 24:  Result24 Cible, Np, TabC
     Case Is = 25:  Result25 Cible, Np, TabC
     Case Is = 26:  Result26 Cible, Np, TabC
     Case Is = 27:  Result27 Cible, Np, TabC
     Case Is = 28:  Result28 Cible, Np, TabC
     Case Is = 29:  Result29 Cible, Np, TabC
     Case Is = 30:  Result30 Cible, Np, TabC
     Case Is = 31:  Result31 Cible, Np, TabC
     Case Is = 32:  Result32 Cible, Np, TabC
     Case Is = 33:  Result33 Cible, Np, TabC
     Case Is = 34:  Result34 Cible, Np, TabC
     Case Is = 35:  Result35 Cible, Np, TabC
     Case Is = 36:  Result36 Cible, Np, TabC
     Case Is = 37:  Result37 Cible, Np, TabC
     Case Is = 38:  Result38 Cible, Np, TabC
     Case Is = 39:  Result39 Cible, Np, TabC
     Case Is = 40:  Result40 Cible, Np, TabC
    End Select
Next
J'ai plein de codes qui semblent "redondants" dans le même genre.
J'essaie donc de simplifier pour le dernier exemple par exemple, avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
For Ne = 2 to 40
    ReDim TabC(3, 1): N°T = N°T + 1
    Select Case Ne
       Case Is = Ne:  ("Result" & Ne) Cible, Np, TabC
    End Select
Next
Il fait bien la concaténation, mais ne reconnait pas le nom généré Result26 (par exemple) comme étant une variable, mais comme une simple String (vide en l'occurence).
... et pas de bol misterVBA connait pas la fonction magique INDIRECT()

Mes recherches sur google n'ont donné que des cas liés aux noms de feuilles, ou choper une valeur via une adresse(Range(Range())), ce qui n'est pas du tout le cas ici...

En résumé, comment convertir une chaîne string en référence (d'un objet déjà existant) ? (dans mes codes, les objets sont en général des tableaux de type Variant/Variant)

Merci d'avance pour vos réponses.