OVH Cloud OVH Cloud

MsgBox sur procédure "on close". Je plante. Détails svp je démar r

11 réponses
Avatar
souhalat
Je démarre en VBA sans trop de problèmes jusqu'au moment où j'ai voulu
utiliser sur fermeture la fonction MsgBox pour afficher une fenêtre avec oui
non cancel.
Je dois oublier quelque chose sur mon programme alors pourriez vous m'aider ?
DE Private Sub à End Sub SVP.*
Promis je vais progresser ...
Merci à tous

10 réponses

1 2
Avatar
ze Titi
Bonjour souhalat

Si tu ne donnes pas ton code, ça va être compliqué de t'aider... ;-)
Néanmoins, je pense qu'un truc du genre

if msgbox("Voulez-vous quitter ?",vbQuestion+vbYesNo)=vbNo then
Cancel=True
end if

devrait fonctionner...

dis-nous !

dans ton message
Je démarre en VBA sans trop de problèmes jusqu'au moment où j'ai voulu
utiliser sur fermeture la fonction MsgBox pour afficher une fenêtre avec oui
non cancel.
Je dois oublier quelque chose sur mon programme alors pourriez vous m'aider ?
DE Private Sub à End Sub SVP.*
Promis je vais progresser ...
Merci à tous


--
Voilou !
Bon code
Cordialement,

Ze Titi

Avatar
souhalat
Désolé pour l'absence de code.
Je vérifie et te tiens au courant.
Bravo pour la rapidité de la réponse





Avatar
souhalat
Voici le code qui plante toujours :
Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
Avatar
ze Titi
Bonjour souhalat

Qu'entends tu par "Plante toujours" ? Ca n'empêche pas la fermeture de
ton formulaire ?

dans ton message
Voici le code qui plante toujours :
Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub


--
Voilou !
Bon code
Cordialement,

Ze Titi

Avatar
souhalat
Merci pour la réponse mais je plante toujours.
Voici le code

Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
Amitiés
Avatar
souhalat
Je rectifie; Le code fonctionne. Je vais essayer pour avoir la boite oui non
cancel et les actions qui vont avec car je voudrais garder la fenêtre ouverte
si je veux modifier ma saisie.
Je pense qu'avec cancel en plus et else je vais m'en sortir ...
Au fait je met quoi après Else ???
Tu as vraiment du mérite d'aider les ignares de mon espèce
Amicalement
Avatar
souhalat
merci pour le code qui fonctionne une fois saisie corectement la syntaxe
Le résultat fait bien apparaitre la boite Oui / NOn / Annuler.
Par contre, quelque soit mon choix, les données sont rentrées dans la table
alors que je voudrais une fermeture du formulaire en cas de non, un retour au
premier champ en cas d'annulation et un enregistrement en cas de OUi.
Je suppose que je dois modifier les instructions then ou else mais je
cherche les codes pour définir ces actions.
S'il te reste du temps et de la patience pour me guider, n'hésite pas.
Merci encore pour ton aide

Bonjour souhalat

Qu'entends tu par "Plante toujours" ? Ca n'empêche pas la fermeture de
ton formulaire ?

dans ton message
Voici le code qui plante toujours :
Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub


--
Voilou !
Bon code
Cordialement,

Ze Titi






Avatar
ze Titi
Bonjour souhalat

Tu dois avoir un truc du genre:

dim rep
rep=msgbox "Voulez-vous quitter ?",vbQuestion+vbYesNoCancel
if rep=vbNo then
Docmd.Close acForm, Me.Name, acSaveNo
elseIf rep=vbCancel then
Cancel=True
Else
Docmd.Close acForm, Me.Name, acSaveYes
End If


Non testé donc non garanti...

dans ton message
merci pour le code qui fonctionne une fois saisie corectement la syntaxe
Le résultat fait bien apparaitre la boite Oui / NOn / Annuler.
Par contre, quelque soit mon choix, les données sont rentrées dans la table
alors que je voudrais une fermeture du formulaire en cas de non, un retour au
premier champ en cas d'annulation et un enregistrement en cas de OUi.
Je suppose que je dois modifier les instructions then ou else mais je
cherche les codes pour définir ces actions.
S'il te reste du temps et de la patience pour me guider, n'hésite pas.
Merci encore pour ton aide

Bonjour souhalat

Qu'entends tu par "Plante toujours" ? Ca n'empêche pas la fermeture de
ton formulaire ?

dans ton message
Voici le code qui plante toujours :
Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub


--
Voilou !
Bon code
Cordialement,

Ze Titi






--
Voilou !
Bon code
Cordialement,

Ze Titi



Avatar
Pierre CFI [mvp]
bonjour
et si tout ce code était mis dans l'evenement Unload ?? car il y a pas de cancel sur Close

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"souhalat" a écrit dans le message de news:

Je rectifie; Le code fonctionne. Je vais essayer pour avoir la boite oui non
cancel et les actions qui vont avec car je voudrais garder la fenêtre ouverte
si je veux modifier ma saisie.
Je pense qu'avec cancel en plus et else je vais m'en sortir ...
Au fait je met quoi après Else ???
Tu as vraiment du mérite d'aider les ignares de mon espèce
Amicalement



Avatar
souhalat
Désolé mais les codes ne donnent pas de résultats malgré bien des essais.
Je recommencerai plus tard.
Si tu as une idée, fais moi signe et un grand merci de toute façon


Bonjour souhalat

Tu dois avoir un truc du genre:

dim rep
rep=msgbox "Voulez-vous quitter ?",vbQuestion+vbYesNoCancel
if rep=vbNo then
Docmd.Close acForm, Me.Name, acSaveNo
elseIf rep=vbCancel then
Cancel=True
Else
Docmd.Close acForm, Me.Name, acSaveYes
End If


Non testé donc non garanti...

dans ton message
merci pour le code qui fonctionne une fois saisie corectement la syntaxe
Le résultat fait bien apparaitre la boite Oui / NOn / Annuler.
Par contre, quelque soit mon choix, les données sont rentrées dans la table
alors que je voudrais une fermeture du formulaire en cas de non, un retour au
premier champ en cas d'annulation et un enregistrement en cas de OUi.
Je suppose que je dois modifier les instructions then ou else mais je
cherche les codes pour définir ces actions.
S'il te reste du temps et de la patience pour me guider, n'hésite pas.
Merci encore pour ton aide

Bonjour souhalat

Qu'entends tu par "Plante toujours" ? Ca n'empêche pas la fermeture de
ton formulaire ?

dans ton message
Voici le code qui plante toujours :
Private Sub Form_Close()
If MsgBox("Voulez-vous quitter ?", vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub


--
Voilou !
Bon code
Cordialement,

Ze Titi






--
Voilou !
Bon code
Cordialement,

Ze Titi








1 2