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 1561 Statut Membre -
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. ngounou25 Messages postés 110 Statut Membre 4
     
    Salut,

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

    1
  2. G_33
     
    bonjour

    essayez en déclarant : parametre de type String par exemple
    0
  3. Heliotte Messages postés 1561 Statut Membre 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
    1. 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
  4. Heliotte Messages postés 1561 Statut Membre 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
    1. 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
    2. Heliotte Messages postés 1561 Statut Membre 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
    3. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. G_33
       
      Parametre est du numerique ???
      0
    2. 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
    3. Heliotte Messages postés 1561 Statut Membre 92
       
      Probablement le "s" du tableau "parametres" !
      Bonne programmation.
      0
    4. Heliotte Messages postés 1561 Statut Membre 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