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

rendre variable le nom d'une 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
Croquignol
Bonjour Yann,

Essaie ça :

Dim Noms, I As Integer
Noms = Range("A1:A10")
For I = 1 To 10
MsgBox "Nom " & I & " = " & Noms(I, 1)
Next I

La variable Noms contient 10 éléments correspondant aux cellules A1 à A10. Tu
accèdes à chaque élément par Noms(numéro,1).

Il s'agit d'une variable de type Variant contenant un tableau ("Array").

Pour créer de toutes pièces une variable tableau :

Dim MonTableau(1 To 3) As String
MonTableau(1) = "un"
MonTableau(2) = "deux"
MonTableau(3) = "trois"
MsgBox "Troisième élément de MonTableau = " & MonTableau(3)

Plus de détails, regarde "Utilisation des tableaux" dans l'aide en ligne de VBA
(rubriques conceptuelles de Visual Basic)

Bonne chance,

Croquignol


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
garnote
Salut Yann,

En passant par une tableau, peut-être ?

Sub Beaucoup()
Dim nom(1 To 10)
For i = 1 To 10
nom(i) = Cells(i, 1)
Next i
End Sub

Serge

"Yann BARBARAY" a écrit dans le message de
news: bme6cv$a2h$
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.