Stopper la fermeture d'un form sur Sub Form_Close

Anonyme
2010-06-30T06:07:29+00:00

Bonjour à tous

Comment faire pour stopperla fermeture d'un formulaire lorsqu'une

condition n'est pas remplie et lorsque la fermeture est générée par un clic sur la X

Private Sub Form_Close()

If MaConditionNestPasRemplie Then

    ArreterLaFermetureDu Form

End If

End Sub

Lorsque je procède ainsi la condition est bien vérifée mais la fermeture

continue. (je contourne en créant mon bouton et en inhibant la X)

Merci pour les réponses

Microsoft 365 et Office | Access | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2010-06-30T08:40:31+00:00

Bonjour,

En effet, comme l'a exprimé TopJB, il convient d'utiliser l'événement UNLOAD pour les raisons suivantes :

  1. L’événementUNLOAD se produit avant l’événement CLOSE (la séquence d’occurrence d’événements liés à la fermeture d’un formulaire étant UNLOADà DESACTIVATEà CLOSE)
  2. Et surtoutl’événement UNLOAD peut être Annulé alors que l’événement CLOSE non.

Voici un exemple tiré de l’aide d’Access à adapter selon vos besoins

Private Sub Form_Unload(Cancel As Integer)

   If MsgBox("Fermer le formulaire ?", vbYesNo) = vbNo Then

         ‘ Annuler la fermeture

         Cancel = True

    Else

         ‘ Poursuivre la fermeture

         Exit Sub

    End If

End Sub


En espérant avoir pu rendre service / MehdiH

Visitez "Office Users" (http://officeusers.blogspot.com/)

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

2 réponses supplémentaires

  1. Anonyme
    2010-06-30T17:49:55+00:00

    Merci tous 2 pour votre précieuse réponse que je vais mettre en application dès demain

    Bonne soirée

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2010-06-30T07:39:24+00:00

    Bonjour,

    Regarde la propriété Unload du formulaire, tu a une méthode Cancel dedans qui te permet d'annuler la fermeture d'un formulaire quand on clique sur X ou que l'on ferme la fenêtre via un bouton "Fermer"

    un docmd.close acform, me.name, acsaveno, appelle la function Unload du formulaire et si ta condition n'est pas valide au moment de la demande de fermeture mettre dans le Unload, Cancel = true

    Cordialement

    TopJB

     PinPon70 a écrit :

    Bonjour à tous

    Comment faire pour stopperla fermeture d'un formulaire lorsqu'une condition n'est pas remplie et lorsque la fermeture est générée par un clic sur la X

    Private Sub Form_Close()

    If MaConditionNestPasRemplie Then

        ArreterLaFermetureDu Form

    End If

    End Sub

    Lorsque je procède ainsi la condition est bien vérifée mais la fermeture

    continue. (je contourne en créant mon bouton et en inhibant la X)

    Merci pour les réponses

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire