Selectionner variable dans boucle for

Résolu
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

  1. Salut,

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

    1. bonjour

      essayez en déclarant : parametre de type String par exemple
      1. 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.
        1. 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.
      2. 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!
        1. Comment est-il possible d'envoyer un tableau à une autre userform ?
        2. 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)
        3. 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.
      3. 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.
        1. Parametre est du numerique ???
        2. Bonjours G_33,

          J'avais un problème de syntaxe. Le problème est maintenant résolu.
        3. Probablement le "s" du tableau "parametres" !
          Bonne programmation.
        4. 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()