Création de variables et affectation valeur dans une boucle???

Résolu
fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 - 27 nov. 2006 à 18:30
fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 - 28 nov. 2006 à 09:55
Bonjour,

Je dispose d'un tableau contenant 3 colonnes:
   Première colonne:   nom d'un point (ex: O, A, B..)
   Deuxième colonne: abscisse du point (valeur numérique)
   Troisième colonne: ordonée du point (valeur numérique)

Je voudrais créer les variable xO, yO, xA, yA, xB, yB automatiquement, c'est à dire dans une boucle FOR par exemple...
J'ai écrit le code suivant (qui ne marche bien entendu pas!!!):

Dim temp as string
For Each cell In Range("B89:B91")
temp = cell.Value
"x" & temp = cell.Offset(0,1)
"y" & temp = cell.Offset(0,2)
Next cell

...et je vous serait très reconnaisasnt si l'un d'entre vous prenait les 2 minutes nécessaires à la résolution de ce problème de débutant qui commence sérieusement à m'énerver! (pour info, ça doit bien faire 2 heures que je cherche, ne riez pas )

Merci d'avance!

4 réponses

fredieuric Messages postés 24 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 2 octobre 2008 1
28 nov. 2006 à 09:55
Merci pour vos réponses, je vais en effet passer par des tableaux...

Bonne programmation!
1
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 nov. 2006 à 19:15
Salut
Sous VB, on ne peut pas créer de noms de variables à la volée.
Par contre, sous Excel, on doit pouvoir 'nommer' une cellule (*), à condition que le nom ne porte pas confusion avec la syntaxe Ligne-Colonne de Excel : par exemple, impossible de créer un nom comme 'in3' puisque 'in' peut être aussi une colonne.
Apparemment, les colonnes ne vont 'que' jusqu'à 'iv' et les lignes ne semble pas avoir de limite (mémoire).

(*) Menu Insertion, Nom, Définir : Tu le fais à la main tout en enregistrant une macro et tu regardes ensuite quel code il utilise, tu n'auras plus qu'à repomper ce code en le paramétrant.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
27 nov. 2006 à 23:22
Pourquoi ne pas créer tes variables d'avance ?
Ou encore un ou des tableaux ?

MPi
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 nov. 2006 à 05:05
Salut,

Jack :
Apparemment, les colonnes ne vont 'que' jusqu'à 'iv' et les lignes ne semble pas avoir de limite (mémoire).
Il y a bien 256 colonnes (valeur d'un byte) mais c'est aussi limité en ligne : 65536 lignes (valeur d'un Integer)

fredieuric :
je ne vois pas vraiment l'intérêt de nommer des variables dynamiquement (impossible donc, comme le précise Jack). Selon tes besoins, une déclaration de tableau, des Redim Preserve, et ça devrait faire l'affaire.
Si tu veux plus d'infos, donnes-en également car ton exemple ne se passe que sur 3 cellules.

Pour infos, les tableaux sont des variables avec index.
Pour utiliser les tableaux, regarde mon second message sur Ce Topic.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Rejoignez-nous