Lolyshia
Messages postés5Date d'inscriptiondimanche 28 septembre 2008StatutMembreDernière intervention 9 novembre 2008
-
13 oct. 2008 à 09:45
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
14 oct. 2008 à 04:41
Bonjour, j'essaye de programmer un bouton vbcancel pour que chaque fois que je click dessus il y a un message qui apparait qui dit bonne journee et qu'il ferme le programme. Par contre, si ok est clicquer (sans qu'il y ait une reponse ecrit dans l'espace demandé) il y aura un message qui apparait et qui dit: Ressayer de nouveau. Voici mon programme. Merci de votre aide
Private Const MENU As String _
= "(1 ou E)" & vbTab & vbTab & " : ÉCHANGE THERMIQUE" & vbCrLf & vbCrLf _
& "(2 ou C)" & vbTab & vbTab & " : CRYPTAGE" & vbCrLf & vbCrLf _
& "(annuler)" & vbTab & ": Pour quitter le programme"
Sub Procedure_Demarrage()
Dim choix As String
Do
choix = InputBox(MENU, "Choix de programme")
choix = UCase(choix)
Select Case choix
Case 1, "E"
Call Module_Echange_thermique.Programme_1
If MsgBox("Voulez-vous réessayer un autre programme?!", vbYesNo) = vbYes Then
Call Module_Menu.Procedure_Demarrage
Else
MsgBox ("Fermeture du programme d'échange thermique, nous vous souhaitons bonne journée")
End If
Exit Do
Case 2, "C"
Call Module_Cryptage.Programme_2
If MsgBox("Voulez-vous réessayer un autre programme?!", vbYesNo) = vbYes Then
Call Module_Menu.Procedure_Demarrage
Else
MsgBox ("Fermeture du programme de cryptage, nous vous souhaitons bonne journée")
End If
Exit Do
Case "ANNULER"
Call MsgBox("BONNE JOURNÉE!") 'Pour quitter le programme
Exit Do
Case Else
Call MsgBox("Erreur! Réessayez à nouveau!", vbCritical)
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 13 oct. 2008 à 10:15
Salut,
Je comprends pas bien ton truc...
Pourquoi ne pas créer une form personnalisée à laquelle tu affectes une zone de texte et des boutons de commande
La zone de texte est ta zone de saisie que tu peux tester par : if text1.text = vbnullstring then...
Et tes boutons de commande qui permet le lancement de tes procedures ou d'annuler. Sachant que tu peux le faire en un groupe de commande et donc à l'aide d'un select case pour le lancement de chaque.
Voilà.
Sinon, il me semble que ton code comporte des erreurs...
Bon courage
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
Lolyshia
Messages postés5Date d'inscriptiondimanche 28 septembre 2008StatutMembreDernière intervention 9 novembre 2008 13 oct. 2008 à 16:57
Salut
je comprend pas ce que tu veux dire de créer une form personnalisé. En faite j'utilise EXCEL avec le macro pour démarrer mon programme. Je n'utilise pas visual basic directe ou que je met des boutons et tout. Sinon c'est de cette maniere qu'on m'a apprit et il fonctionne sauf pour le bouton CANCEL
Car lorsque je pars mon programme il y une boite ou il demande mes choix et puis il y a un bouton OK et Cancel par default. si je pese OK ou Cancel ca va dire une message d'erreur. Mais ce que je veux c'est que Cancel a un message pour dire au revoir et c'est un end sub.
Sinon comment on fait pour avoir seulement OK comme bouton dans un inputbox?
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 14 oct. 2008 à 04:41
Bonjour Lolyshia
Une input box n'est pas très bien adaptée à ton cas.
En effet, il est visiblement très important pour ton programme de savoir la manière dont l'utilisateur a fermé l'input box : en cliquant sur les boutons "Annuler" ou "Ok", ou bien par les touches Enter ou Escape.
Or l'input box ne renvoie strictement aucune information fiable sur la manière dont l'input box a été fermée. Dans l'aide en ligne de l'input box, ils disent ceci : Si l'utilisateur clique sur OK ou appuie sur ENTRÉE , la fonction InputBox renvoie le texte contenu dans la zone de texte. Si l'utilisateur clique sur le bouton Annuler, la fonction renvoie une chaîne de longueur nulle (""). Quant à la touche Escape, ils n'en parlent pas.
C'est pourquoi, je te suggère de suivre le conseil de Lilith212, et de créer ton propre formulaire : dans la fenêtre Visual Basic, insertion > UserForm
Si malgré tout tu conserves l'input box, je te conseille de mettre un msgbox "Voulez-vous vraiment quitter l'application ?" lorsque ton code estime que l'utilisateur a cliqué sur Annuler.
Je te souhaite une bonne soirée (là où je vis, il est 17 h).