Besoin d'aide sur les macros

Fabrice44 -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis novice en VBA.
Je me passionne pour la programmation.
Je me suis donné un projet "Création d'un dossier de réalisation".
Je souhaite, acquérir les données client par une macro INPUTBOX des différentes infos.

Dim MESSAGE1 As String: MESSAGE1 = ("TEXTE1")
Dim MESSAGE2 As String: MESSAGE2 = ("TEXTE2")
Dim MESSAGE3 As String: MESSAGE3 = ("TEXTE3")
Dim MESSAGE4 As String: MESSAGE4 = ("TEXTE4")
Dim MESSAGE5 As String: MESSAGE5 = ("TEXTE5")
Dim MESSAGE6 As String: MESSAGE6 = ("TEXTE6")
Dim MESSAGE7 As String: MESSAGE7 = ("TEXTE7")
Range("F21:F30").ClearContents
For CPT = 1 To 7
CHAINE = ("MESSAGE" & CPT)
VALEUR = InputBox(CHAINE)
Range("F" & CPT).Value = VALEUR
Next CPT
Dans mon Inputbox s'affiche MESSAGE1 et non TEXTE1.
Merci pour votre aide.
Bonne journée

1 réponse

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

c'est normal puisque c'est la valeur texte à laquelle tu l'initialises.
En vba tu ne peux pas te fabriquer un nom de variable en concaténant. Il faut que tu utilises un tableau, et que tu appelles les index.

Dim Message(1 to 7) as string
Message(1)="Texte1"
etc

For CPT = 1 To 7
CHAINE = MESSAGE(cpt)
...
Next CPT

eric

0