message avant fermeture d'excel

noir_desir

XLDnaute Junior
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 :D .
 

noir_desir

XLDnaute Junior
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 édition:

gbinforme

XLDnaute Impliqué
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é.
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 351
Membres
103 824
dernier inscrit
frederic.marien@proximus.