Selectionner variable dans boucle for

Résolu
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai 3 variables : parametre1, parametre2, parametre3

J'aimerai sélectionner à chaque boucle (for i = 1 to 3), une variable (parametre1 puis parametre2 et enfin parametre3)

Quand j'écris :

for i = 1 to 3
"parametre" & i =...

J'ai une erreur de compilation.

Pouvez vous me proposer une solution svp.

A voir également:

5 réponses

ngounou25 Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   4
 
Salut,

Si toutes les variables sont de même type, alors travail avec les tableaux ... C'est à ça qu'ils servent !

1
G_33
 
bonjour

essayez en déclarant : parametre de type String par exemple
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonjour Marvin.R,

Si tu peux utiliser une variable tableau je te propose:
Dim parametre(3) As Integer
For i = 1 to Ubound(parametre)
- parametre(i) =... 
Next i


Si ok pour toi, penses à mettre "résolu", merci.
0
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
J'y avait pensé, cependant, je souhaite que mon tableau soit accessible dans un autre module UserForm) du projet.
Public parametre(3) as integer
provoque une erreur de compilation.
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Public parametre(3) as integer 

Si tu veux que ta variable soit accessible à partir d'autres endroits que ta form "Form1", il faut l'écrie dans un "Module", pas dans le code d'une feuille !
Toutefois, attention aux variables globales!
L'autre solution est de passer ton tableau en paramètres!
A toi de voir!
0
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Comment est-il possible d'envoyer un tableau à une autre userform ?
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Je pensais à une procédure ou une fonction pas à un userform.
Mais je pense que c'est faisable:
Tu te trouves dans la "Fomr2"
Tu as besoin de la valeur d'une variable qui à été créée dans la "Form1"
Tu fait quelque chose comme ça : MaVariableDeForm2 = Form1.MaVariableDeLaForms1(i)
0
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai essayé
MaVariableDeForm2 = Form1.MaVariableDeLaForms1(i)
ça ne fonctionne pas.

Si je passe en paramètre mon tableau à une fonction sur ma userform2, elle doit être public.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Voici la solution que j'ai utilisé : appeler une fonction (visibilité 'public') dans ma userform2 depuis ma userform1.

J'ai cependant, un problème d'incompatibilité de type.

Dans ma userform1 :

userform2.afficherErreur (parametre())

'parametre()' est un tableau de type string

Dans ma userform2 :

Public Sub afficherErreur(parametres() As String)

Lorsque j'execute, il me signale un problème d'incompatibilité de type.
0
G_33
 
Parametre est du numerique ???
0
Marvin.R Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjours G_33,

J'avais un problème de syntaxe. Le problème est maintenant résolu.
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Probablement le "s" du tableau "parametres" !
Bonne programmation.
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Penses à mettre "Option Explicit" au début de chaque feuille, chaque module.
Comme cela, quand tu as une variable utilisée mais non déclarée le compilateur t'en averti.
Exemple :
- Déclarer : parametre()
- Utilisé : parametres()
0