Comment utiliser l’événement QueryClose dans VBA ?

En VBA (Visual Basic for Applications), l’événement `QueryClose` est utilisé principalement dans les applications comme Excel ou Access pour gérer la fermeture d’un formulaire ou d’une application. Cet événement vous permet d’exécuter du code juste avant qu’un formulaire soit fermé, et est également l’occasion de prévenir la fermeture si certaines conditions ne sont pas remplies.

Voici comment utiliser l’événement `QueryClose` dans un formulaire VBA :

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' Vérifie si le formulaire est en train d'être fermé par l'utilisateur
    If CloseMode = vbFormControlMenu Then 
        ' Ajouter votre logique ici
        Dim response As VbMsgBoxResult
        response = MsgBox("Êtes-vous sûr de vouloir fermer ce formulaire ?", vbYesNo + vbQuestion)
        
        If response = vbNo Then
            Cancel = True ' Annuler la fermeture du formulaire
        End If
    End If
End Sub
  • Ouvrir l’éditeur VBA:
    • Vous pouvez accéder à l’éditeur VBA en appuyant sur `ALT` + `F11` dans Excel ou Access.
  • Naviguer vers le formulaire:
    • Dans l’arborescence du projet, trouvez et sélectionnez le formulaire pour lequel vous souhaitez utiliser l’événement `QueryClose`.
  • Accéder au code du formulaire:
    • Faites un clic droit sur le formulaire et sélectionnez ” Afficher le code ” pour accéder à la fenêtre de code associée au formulaire.
  • Implémenter l’événement QueryClose:
    • Dans la fenêtre de code, vous devrez implémenter l’événement `QueryClose`. Voici un exemple de base qui montre comment cela peut être fait :

Explication des paramètres :

  • `Cancel As Integer`: Vous pouvez définir ce paramètre sur `True` (ou toute valeur non nulle dans VBA) pour annuler la fermeture du formulaire.
  • `CloseMode As Integer`: Ce paramètre peut prendre différentes valeurs selon la manière dont le formulaire est fermé (par exemple, par l’utilisateur à partir du menu de contrôle du formulaire).

Cette approche vous permet de contrôler la fermeture de vos formulaires et d’exécuter n’importe quel code nécessaire avant qu’un formulaire soit effectivement fermé. Assurez-vous d’ajuster le code à vos besoins spécifiques, notamment en ajoutant des vérifications ou des conditions supplémentaires selon votre application.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project