Selectionner variable dans boucle for

[Résolu/Fermé]
Signaler
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012
-
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
-
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.

5 réponses

Messages postés
96
Date d'inscription
mercredi 6 août 2008
Statut
Membre
Dernière intervention
5 juillet 2013
4
Salut,

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

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

bonjour

essayez en déclarant : parametre de type String par exemple
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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.
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012

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.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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!
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012

Comment est-il possible d'envoyer un tableau à une autre userform ?
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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)
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012

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.
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012

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.
Parametre est du numerique ???
Messages postés
16
Date d'inscription
lundi 29 octobre 2012
Statut
Membre
Dernière intervention
8 novembre 2012

Bonjours G_33,

J'avais un problème de syntaxe. Le problème est maintenant résolu.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
Probablement le "s" du tableau "parametres" !
Bonne programmation.
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
87
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()