Les boucles je crois ou renvoi alors...

Résolu
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014 - 15 déc. 2005 à 15:35
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014 - 15 déc. 2005 à 16:58
Oui je dis je crois car je ne les ai pas encore utilisées ;)

Bon soyons clair
Dans mon projet, je demande par deux boites à la suite s'il y a des données de facturation complémentaire (ddecomplt & ddecomplt2).
Hors en faisant tester mon projet j'ai vu qu'un utilisateur peu attentif peu dire Yes dans ddecomplt alors qu'il n'y a pas de données supplémentaires.
Mais l'erreur est commise et les boîtes suivantes s'affichent typecomplt, qtecomplt...

Ma question:
Je veux qu'en cas d'erreur de l'utilisateur, clicker sur cancel dans typecomplt envoi le client à ddecomplt2.
J'ai essayé avec
If typecomplt= vb cancel then
GoTo ddecomplt2 mais ca marche pas :(
Comment faire? Merci

Voici mon code:

ddecomplt = MsgBox("Facturation complémentaires? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation")
If ddecomplt = vbYes Then
typecomplt = InputBox("Quel est le type de complément? (ex:frais...)", "Type de complément")
qtecomplt = InputBox("Quantité du supplément?", "Quantité")
tarifcomplt = InputBox("Tarif affecté au complément?", "Tarif")
Else
End If
ddecomplt2 = MsgBox("Facturation complémentaires 2? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation 2")
If ddecomplt2 = vbYes Then.....

7 réponses

spa666 Messages postés 39 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 24 février 2006
15 déc. 2005 à 16:39
je m etais trompé

ddecomplt = MsgBox("Facturation complémentaires? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation")
If ddecomplt = vbYes Then
typecomplt = InputBox("Quel est le type de complément? (ex:frais...)", "Type de complément")
if typecomplt <> "" then
qtecomplt = InputBox("Quantité du supplément?", "Quantité")
tarifcomplt = InputBox("Tarif affecté au complément?", "Tarif")
End If
Else
End If
ddecomplt2 = MsgBox("Facturation complémentaires 2? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation 2")
If ddecomplt2 = vbYes Then.....
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 déc. 2005 à 15:45
Goto renvoie a une etiquette...

ajoute simplement une etiquette :

Question1:
If MsgBox (...) ....

Question2:
If MsgBox (...) = VbCancel Then
Goto Question1
End If
0
spa666 Messages postés 39 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 24 février 2006
15 déc. 2005 à 15:47
essaie :

ddecomplt = MsgBox("Facturation complémentaires? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation")
If ddecomplt = vbYes Then
typecomplt = InputBox("Quel est le type de complément? (ex:frais...)", "Type de complément")
qtecomplt = InputBox("Quantité du supplément?", "Quantité")
if qtecomplt <> "" then
tarifcomplt = InputBox("Tarif affecté au complément?", "Tarif")
End If
Else
End If
ddecomplt2 = MsgBox("Facturation complémentaires 2? (ex: frais...)", vbYesNo + vbQuestion, "Complément de facturation 2")
If ddecomplt2 = vbYes Then.....
0
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
15 déc. 2005 à 16:26
J'ai essaye vos deux méthodes mais cela ne marche pas
SNIFFF!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 déc. 2005 à 16:30
tu aurais une description informatique de "ca ne marche pas" ???
0
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
15 déc. 2005 à 16:48
En cliquant cancel dans la boite typecomplt Vb poursuit le reste du code et affiche qtecomplt puis tarifcomplt et comme je click toujours sur cancel aucune info n'est enregistrée et je reçoi un message de bug provenant des endroits où sont utilisés les résultats des boites.

Il semble ne pas lire le GoTo en fait
Peut-être cela vient de ma ligne If typecomplt = vbCancel Then
comprend-t-il que je click sur cancel je le crois.
0
FGIO51 Messages postés 29 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 17 janvier 2014
15 déc. 2005 à 16:58
Merci spa666

Là ca marche.
Cela ne me plait pas car cela fait un If de plus ;) mais bon cela marche donc je ne vais pas me plaindre.
Il est vrai je m'attendais à une solution plus compliquer... ;)
Encore merci.
0
Rejoignez-nous