Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

message avant fermeture d'excel

  • Initiateur de la discussion Initiateur de la discussion noir_desir
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

noir_desir

Guest
Bonjour tous le monde
Je voudrai avertir l'utilisateur lorsqu'il ferme le classeur excel (ou excel lui même), qu'il n'a pas rempli tous les champs voulu.
Que dois je faire pour palliez à cette défaillance utilisateur 😀 .
 
Re : message avant fermeture d'excel

J'ai mis cela dans module
mais ca ne fait rien du tout 🙁
Code:
Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
If ((Range("M31:AB31").Select ) + (Range("M36:AB36").Select) + (Range("M39:AB39").Select) + (Range("M43:AB43").Select) + (Range("M45:AB45").Select) + (Range("M41:AB41").Select) = "") Then

    Msg = "Veuillez remplir tous l'équipe?"    ' Définit le message.
    Title = "Erreur "    ' Définit le titre.
    Help = "DEMO.HLP"    ' Définit le fichier d'aide.
    Ctxt = 1000    ' Définit le contexte de
                ' la rubrique.
' Affiche le message.
    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
    If Response = vbYes Then    ' L'utilisateur a choisi Oui.
        MyString = "Oui"    ' Effectue une action.
    Else    ' L'utilisateur a choisi Non.
        MyString = "Non"    ' Effectue une action.
    End If
End If

End Sub
 
Dernière modification par un modérateur:
Re : message avant fermeture d'excel

bonsoir,

tu insères dans "thisworkbook" pour que ta macro soit exécutée avant fermeture.

j'ai de sérieux doutes sur ton test :
If ((Range("M31:AB31").Select ) + (Range("M36:AB36").Select) + (Range("M39:AB39").Select) + (Range("M43:AB43").Select) + (Range("M45:AB45").Select) + (Range("M41:AB41").Select) = "") Then

je pense que :
If ((Range("M31:AB31").Select ) = "" or (Range("M36:AB36").Select) = "" or (Range("M39:AB39").Select) = "" or (Range("M43:AB43").Select) = "" or (Range("M45:AB45").Select) = "" or (Range("M41:AB41").Select) = "") Then
serais plus approprié.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
884
Réponses
1
Affichages
655
G
  • Question Question
Réponses
1
Affichages
666
C
Réponses
1
Affichages
2 K
Fredoux
F
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…