> Tous les forums > Forum Bureautique
 [Pb msgbox sous XL]Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Magnan
  Posté le 30/09/2019 @ 14:59 
Aller en bas de la page 
Astucien

Bonjour,

En cliquant sur annuler Excel se ferme quand même. Je ne comprend pas. Ou est mon erreur ?

Merci d'avance.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

' Message à la fermeture

Dim Message As String

Dim Style As String

Dim Titre As String

Dim flag

Message = "Vous allez quitter Dilo's Carbet... "

Style = vbOKCancel + vbQuestion + vbDefaultButton2

Titre = "Dilo's Carbet"

flag = MsgBox(Message, Style, Titre)

If flag = vbYes Then

Workbooks.Close

ElseIf flag = vbCancel Then Exit Sub

End If

'Sauvegarde du fichier

ActiveWorkbook.Save

End Sub



Modifié par Magnan le 30/09/2019 14:59
Publicité
Boogie Palace
 Posté le 03/10/2019 à 14:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

qq trucs me chiffonnent dans ton code :

• tu définis le style de ta msgbox en vbOKCancel, donc tu attends un retour vbOK (= 1) ou vbCancel (= 2).
ton "if flag = vbYes" n'arrivera jamais car vbYes = 6.

• selon moi ton ElseIf n'a pas lieu d'être, car tu n'as pas de Else tout court derrière, donc un Else tout court suffit. (bon, je ne suis pas sûr de mon argumentation, mais je suis sûr qu'on peut s'en passer en tout cas)

• et le Workbooks.Close devrait plutôt mentionner le nom du fichier, ou si c'est le classeur actif : ActiveWorkbook.Close (+ False si on veut zapper l'invite d'enregistrement)


enfin, pour éviter qu'Excel se ferme quand tu cliques sur Annuler, il faut mettre l'argument Cancel à True.
donc on mélange tout ça dans un grand saladier, et ça donne :

If flag = vbOK then ActiveWorkbook.Close False Else Cancel = True

à adapter si tu veux que ça enregistre avant de fermer.



Modifié par Boogie Palace le 03/10/2019 14:34
Magnan
 Posté le 07/10/2019 à 11:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Désolé pour la réponse tardive.

Je vais essayer et te tiens informé.

Merci

A+

Edit : pb partiellement solutionné je vais cogiter.



Modifié par Magnan le 07/10/2019 11:40
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Aucun sujet pertinent lié trouvé
 > Tous les forums > Forum Bureautique