[VBa]faire une boucle pour remplir une variable?????

  • Auteur de la discussion gizmocaca
  • Date de début

gizmocaca

Expert
slt j'aurai encore une fois besoin de vous pour dans ma macro excel:
voila mon code :
Code:
Réponse = MsgBox("Voulez vous ajouter une application ?", 32 + vbYesNo)
If Réponse = vbNo Then
GoTo continu
Else
Nom = InputBox("Bonjour", "Tapez le nom de votre application ,sans faute et en respectant les majuscules?")
Réponse = MsgBox("Voulez vous ajouter une application ?", 32 + vbYesNo)
End If
If Réponse = vbNo Then
GoTo continu
Else
Nom2 = InputBox("Bonjour", "Tapez le nom de votre application ,sans faute et en respectant les majuscules?")
Réponse = MsgBox("Voulez vous ajouter une application ?", 32 + vbYesNo)
End If
If Réponse = vbNo Then
GoTo continu
Else
Nom3 = InputBox("Bonjour", "Tapez le nom de votre application ,sans faute et en respectant les majuscules?")
End If
.........
continu:
est ce que ca serai possible de mettre ca dans une boucle pour avoir plusieurs variables "nomX" plutot que de mettre plusieurs lignes comme celle ci
 

gizmocaca

Expert
et aussi si quelqu'un sait fair une zone de liste a partir d'une macro (sans untiliser une userform) si toute fois c'est possible ? parceque j'avai fais un msgbox mais c'est vraiment pas trés présentable.merci
 

Nova13

Habitué
excuse moi mais plus ca va plus tu poses des questions a la con et moins tu cherches
:kaola:
Code:
dim nom(2000)
for i=0 to 1999
Réponse = MsgBox("Voulez vous ajouter une application ?", 32 + vbYesNo)
If Réponse = vbyes Then
nom(i) = InputBox("Bonjour", "Tapez le nom de votre application ,sans faute et en respectant les majuscules")
else exit for
next i
et fait gaffe tu va te faire taper sur les doigts à utiliser des goto

Qu'est-ce que t'entend par "zone de liste"?
met chr(10) dans une msgbox, ca te fait une super liste
 

gizmocaca

Expert
euh j me suis tromper c'est pas une zone de liste que je demander mais une zone de texte.
et ca me servira pour mon code enfin j'espère:
voila le probleme en fait je voudrai que c'est que quand je lance ma macro il me lance ma zone de texte
et que ce que j'écris dans cette zone s'inscrive dans une partie de mon code pour pouvoir le ""mettre a jour "

Code:
If Not (Cel.Offset(i, 2) = "Aides à la télétransmission" Or Cel.Offset(i, 2) = "BDO famille" Or Cel.Offset(i, 2) Or Cel.Offset(i, 2) = "zone de texte") Then
voila j'ai essayer plein de truc mais rien qui maille parce que en fait tout ce que j'ai trouver ne marcher qu'une seul fois (c'est a dire que la seconde fois que je lance ma macro cette zone de texte n'etait pas enregistrer)
si quelqu'un pouvai me tendre une perche se serai cool merci

 

Nova13

Habitué
oula...je crois pas tout comprendre.m'enfin...
t'as essayer de déclarer le code de ta zone de texte en public.
Comme ca tu récupère dans une variable ce qui y est inscrit
Puis tu injectes ta variable dans tes tests:
Code:
If Not (Cel.Offset(i, 2) = "Aides à la télétransmission" Or Cel.Offset(i, 2) = "BDO famille" Or Cel.Offset(i, 2) Or Cel.Offset(i, 2) = "zone de texte") or cel.offset(i,2) = newcondition then 
  if newcondition = "" then exit if
  else
  ....
  end if
:sol: t'as vu l'anglais un peu

enfin après t'adaptes (notamment le "if newcondition = "" then exit if", qui est un peu tout pourri)

ou plus simple tu utilises une msgbox (à double tranchant) comme ca tu décides à quel moment l'utilisateur peut entrer un nouveau test, et ca t'évites d'avoir à trimbaler ta variable d'un code à l'autre.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 000
Membres
1 586 387
Dernier membre
ouistititouille
Partager cette page
Haut