Variable dans boucle for [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
28 février 2007
-
Messages postés
1
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
9 mars 2007
-
J'ai 4 nom de variables qui ne se différencient que par la fin de leur nom car elles sont indicées.
var1
var2
var3
var4

J'aimerai utiliser une boucle simple pour faire appelle successivement aux 4 variables. Je sais que ça ne fonctionne pas comme dans mon exemple (var & str(i)), je sais que la solution des tableaux est une meilleure solution mais je souhaite tout de même savoir s'il est possible de se passer d'un tableau. Ce n'est pas la première fois que je me pose cette question, alors si je pouvais avoir la solution.... merci !

for i=1 to 4
   ' avec une ligne du type :
    var & str(i) = valeurfonction(i)  'ce n'est qu'un exemple...
next i

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Si tu as déjà posé la question alors tu as certainement déjà eu la réponse.

Non il n'y a d'autres solutions que le tableau (ou la collection, ce qui revient à faire un tableau contenant tes variables, peu judicieux dans le cas présent).

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
73
Date d'inscription
mardi 10 avril 2001
Statut
Membre
Dernière intervention
4 mars 2009

Salut,
ya un truc que je comprends pas, tu comptes faire quoi avec tes 4 variables et/ou leurs valeurs?
Ce qui est sur c'est que le var & str(i) ne marche pas
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Tu l'as dit toi-même : il n'est pas possible de se référer à une variable en utilisant une chaîne de caractères représentant son nom.
Alors : tableau ou structure.ou (plus lourd) select case.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

absolument d'accord avec Casy, ta seule alternative est le tableau de données.
Exemple lié au tiens :

Dim var(1 to 4) As String
Dim i as Byte

For i = 1 To 4
    var(i) = valeurfonction(i)
Next i

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
4
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
28 février 2007

Merci,


En fait je voulais juste avoir la confirmation qu'il n'y avait pas d'autres solutions. Je trouvais que l'autre solution, si elle avait existée, aurait été plus rapide que l'utilisation d'un tableau allant de 1 à 4. Parfois je crois qu'il y a des meilleures solutions que celles que j'utilise habituellement !!!! Mais ce n'est pas toujours le cas ! 
Messages postés
1
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
9 mars 2007

la boucle for repette les instrions un certain nombre de fois et qui generalse et simplifie l'ecriture de nombeuses instruction dans le code


 


exemle


dim x(10) as integer


dim i ,s as integer


for i=1 to 10 


x(i)=inputbox("taper un nombre")


s=s+val(x(i)


label1.caption=s