Changer le nom d'une variable dans une boucle

Bonjour au forum,

je souhaite utiliser le principe d'incrémentation d'une boucle pour sélectionner ma variable :

Sub essai()
Dim maComp1 As String, maComp2 As String, maComp3 As String, maComp4 As String

maComp1 = "Refusé"
maComp2 = "A compléter"
maComp3 = "En cours de validation"
maComp4 = "Accepté"

For a = 1 To 4

ActiveCell = maComp & a

next a

End sub

donc le nom de ma variable changera en fonction de a.

Autrement dit, la première boucle sélectionnera la variable maComp1 et la cellule affichera Refusé; la seconde boucle sélectionnera la variable maComp2 et elle affichera, alors, A compléter etc...

Je sais que d'autres langages acceptent ce principe de concaténation pour former le nom d'une variable mais cela ne semble pas fonctionner en VBA. Est-ce possible de l'adapter sur Excel ?

Bonjour

Avec ta macro le plus rapide serait d'écrire directement

Sub essai()
ActiveCell = "Accepté"
End sub

Sinon tu utilises un tableau

Sub essai()
Dim maComp

  maComp = Array("Refusé", "A compléter", "En cours de validation", "Accepté")

  For a = 1 To 4
    ActiveCell = maComp(a - 1)
   Next a
End Sub

Bonjour,

Possible avec un tableau

Sub essai()
Dim Tablo
Dim Msg As String
Dim a As Byte
    Tablo = Array("Refusé", "A compléter", "En cours de validation", "Accepté")
    For a = 0 To UBound(Tablo)
        Msg = Msg & Tablo(a) & Chr(10)
    Next a
    MsgBox Msg
End Sub

A+

Bonjour Banzai : bis repetita placent

Excellent

Merci à tous les 2

Rechercher des sujets similaires à "changer nom variable boucle"