Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rendre variable un variable

2 réponses
Avatar
Yann BARBARAY
Salut à tous,

J'ai un petit pb avec ma macro.
J'ai plusieurs variables de nom :
- nom_1
- nom_2
...
- nom_10

Je dois rentrer des valeurs grace à une boucle. Je me demandais comment
faire pour que ma macro incrémente mes variables :
for n=1 to 10
nom_n = cells (n,1)
next n
Je n'arrive pas à obtenir cette logique de boucle.
QQ'un serait il comment écrire cette boucle ?

Merci.

2 réponses

Avatar
Vincent.
Salut !
A ma connaissance (certes très limitée), ce n'est pas
possible de "variabiliser" un nom de varaible. EN
revanche, l'utilisation d'un tableau de strings me semble
indiqué dans ton cas !

Option Base 1
Dim Nom() as string
For n=1 to 10
ReDim Preserve Nom(n) As String
Nom(n)Îlls(n,1)
Next n

Attention tout de même que c'est pas testé et que l'option
base doit être à 1 pour que ça marche a priori (c'est là-
dessus que le plus gros doute subsiste...), dans tous les
cas, l'option base devrait être égal à la première valeur
prise par la boucle for...

Pour récupérer la kème variable, tu fais Nom(k) !

Ca te va ?

-----Message d'origine-----
Salut à tous,

J'ai un petit pb avec ma macro.
J'ai plusieurs variables de nom :
- nom_1
- nom_2
...
- nom_10

Je dois rentrer des valeurs grace à une boucle. Je me
demandais comment

faire pour que ma macro incrémente mes variables :
for n=1 to 10
nom_n = cells (n,1)
next n
Je n'arrive pas à obtenir cette logique de boucle.
QQ'un serait il comment écrire cette boucle ?

Merci.


.



Avatar
AV
Tu pourrais faire ça :

Sub zz_Noms()
For n = 1 To 10
ActiveWorkbook.Names.Add Name:="nom_" & n, _
RefersTo:="=" & ActiveSheet.Name & "!" & Cells(n, 1).Address
Next n
End Sub

AV

"Yann BARBARAY" a écrit dans le message news:
bm3kf4$v0l$
Salut à tous,

J'ai un petit pb avec ma macro.
J'ai plusieurs variables de nom :
- nom_1
- nom_2
...
- nom_10

Je dois rentrer des valeurs grace à une boucle. Je me demandais comment
faire pour que ma macro incrémente mes variables :
for n=1 to 10
nom_n = cells (n,1)
next n
Je n'arrive pas à obtenir cette logique de boucle.
QQ'un serait il comment écrire cette boucle ?

Merci.