Language vba excel - boucle
Résolu/Fermé
A voir également:
- Language vba excel - boucle
- Liste déroulante excel - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Find vba - Astuces et Solutions
- Aller à la ligne excel - Guide
1 réponse
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 197
28 janv. 2014 à 22:26
28 janv. 2014 à 22:26
Bonjour,
Essais comme ça:
Essais comme ça:
réponse = MsgBox("Voulez-vous indiquer une nouvelle référence de plante ?", vbYesNo, "PLANTE")
encore = True
While encore <> False
m = 3
n = 15
x = 1
If réponse = vbYes Then
Do While x > 0
plante = InputBox("Entrez la référence de la plante : ", "PLANTE", "ALB")
Worksheets("Devis").Cells(n, 1).Value = plante
Do While trouvé <> True
m = m + 1
If plante = Worksheets("Plantes").Cells(m, 1).Value Then
trouvé = True
Worksheets("Devis").Cells(n, 2).Value = Worksheets("Plantes").Cells(m, 2).Value
Worksheets("Devis").Cells(n, 4).Value = Worksheets("Plantes").Cells(m, 3).Value
n = n + 1
x = 1
réponse = MsgBox("Voulez-vous indiquer une nouvelle référence de plante ?", vbYesNo, "PLANTE")
If reponse = vbYes Then
encore = False
Else
encore = True
x = x - 1
End If
End If
Loop
Loop
ElseIf réponse = vbNo Then
encore = True
x = -1
End If
Wend
Modifié par galt19 le 29/01/2014 à 13:05
Merci, j'ai essayé comme ça, par contre ça fonctionne pas. J'ai toujours le problème de boucle infinie dès la deuxième référence.
Pour décrire : voulez vous indiquer une nouvelle réf => oui, Entrez la ref : j'entre la réf et tout s'affiche. Voulez vous entrez une nouvelle réf => oui ; entrer la ref = et la il n'y a que la réf qui s'affiche et "entrez la ref" se repose automatiquement. Et quand je mets annuler, cela me supprime la 2eme réf mais la boucle repart de nouveau sur la question. Je ne sais pas comment résoudre ce problème, ca me paraît compliquer.
Modifié par Polux31 le 29/01/2014 à 13:37
dsl, je n'avais pas fait de test hier soir. Effectivement ça boucle pas comme il faudrait :(
Avec ça doit mieux tourner:
encore = True While encore <> False n = 15 x = 1 Do While x > 0 m = 3 trouvé = False plante = InputBox("Entrez la référence de la plante : ", "PLANTE", "ALB") Worksheets("Devis").Cells(n, 1).Value = plante Do While trouvé <> True If plante = Worksheets("Plantes").Cells(m, 1).Value Then trouvé = True Worksheets("Devis").Cells(n, 2).Value = Worksheets("Plantes").Cells(m, 2).Value Worksheets("Devis").Cells(n, 4).Value = Worksheets("Plantes").Cells(m, 3).Value n = n + 1 reponse = MsgBox("Voulez-vous indiquer une nouvelle référence de plante ?", vbYesNo, "PLANTE") If reponse = vbYes Then encore = True Else encore = False x = x - 1 End If End If m = m + 1 Loop Loop Wend29 janv. 2014 à 13:49
encore = True n = 15 While encore <> False reponse = MsgBox("Voulez-vous indiquer une nouvelle référence de plante ?", vbYesNo, "PLANTE") If reponse = vbYes Then x = 1 Do While x > 0 m = 3 trouvé = False plante = InputBox("Entrez la référence de la plante : ", "PLANTE", "ALB") Worksheets("Devis").Cells(n, 1).Value = plante Do While trouvé <> True If plante = Worksheets("Plantes").Cells(m, 1).Value Then trouvé = True Worksheets("Devis").Cells(n, 2).Value = Worksheets("Plantes").Cells(m, 2).Value Worksheets("Devis").Cells(n, 4).Value = Worksheets("Plantes").Cells(m, 3).Value n = n + 1 x = -1 End If m = m + 1 Loop Loop Else encore = False x = x - 1 End If Wend29 janv. 2014 à 22:40
bonne fin de soirée