Bonjour à tous,

voila mon problème:

J'ai une macro comprenant une requête SQL que je dois effectuer plusieurs fois mais avec des paramètres différents. Donc pour simplifier le code je souhaite faire une sorte de GoTo mais qui revient la ou ça en était.

Exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SQL= "SELECT * FROM variable"
 
variable = A
Set Result = Connect.Execute(SQL)
Range("A1").value =  Result.Fields(0).Value
 
variable = B
Set Result = Connect.Execute(SQL)
Range("A2").value =  Result.Fields(0).Value
....
Cependant, ceci ne marche pas car j'obtient toujours le résultat de la requête ou variable = A.
Pour que ça fonctionne, il faudrait que je fasse ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SQL= "SELECT * FROM variable"

variable = A
Set Result = Connect.Execute(SQL)
Range("A1").value =  Result.Fields(0).Value

SQL= "SELECT * FROM variable"

variable = B
Set Result = Connect.Execute(SQL)
Range("A2").value =  Result.Fields(0).Value
Or ma requête est assez lourde et le code va rapidement être long, c'est pour ça que je cherche quelque chose comme:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQL:SQL= "SELECT * FROM variable"

variable = A
Set Result = Connect.Execute(SQL)
Range("A1").value =  Result.Fields(0).Value

GoTo SQL
variable = B
' (une fois le GoTo effectué je reviens où le code en était)
Set Result = Connect.Execute(SQL)
Range("A2").value =  Result.Fields(0).Value
....

SQL:SQL= "SELECT * FROM variable"
Merci de votre aide !