Boite de dialogue. Voulez vous enregister? NON

Bonjour Le forum,

Difficile de résumer en une ligne mon besoin (dans l'entête du sujet) mais voici ce que je souhaite Obtenir.

Lorsqu'un utilisateur de mon application clique sur le bouton Imprimer le code suivant s'exécute.

Sub Impression()

Dim xlApp As New Excel.Application

Dim xlDoc As Excel.Workbook

"... code..." pour définir la valeur de Path

xlApp.Visible = True

Set xlDoc = xlApp.Workbooks.Open(Path)

xlDoc.PrintOut

xlDoc.Close

xlApp.Visible = False

Le fichier qui s'ouvre est donc un fichier Excel comprenant un lien Hypertexte entre autres. Est ce le fait de sa présence qui dés que je souhaite fermer le fichier (xlDoc.Close) sans avoir rien modifié, il me demande si je veux l'enregistrer?

Je souhaiterais donc forcer la boite de dialogue qui apparait en lui disant "Non".

Merci de vos aides et conseils.

Bonjour,

Code à essayer.

Sub message()
'Macro par Dan pour Marky93 - XL Pratique - 09/07/09
'http://www.excel-pratique.com/forum/viewtopic.php?t=12301
Dim msg As String, title As String, style As String
Dim response As Integer
Application.ScreenUpdating = False
msg = "Voulez-vous enregistrer ?"
style = vbYesNo + vbCritical + vbDefaultButton2
title = "Enregistrement"
response = MsgBox(msg, style, title)
If response = vbYes Then
Application.DisplayAlerts = False

'code pour enregsitrer...

End If
End Sub

Amicalement

Dan

Merci Dan pour le code mais il ne correspond pas à mon besoin car je me suis mal exprimé.

Lorsque le code s'exécute, il ouvre le fichier Excel, il l'imprime et il doit le fermer.

Au moment de le fermer Excel me demande si je veux enregister le fichier alors que je ne l'ai pas modifié mais juste consulté.

Ce que je souhaite faire, c'est que le code réponde oui à cette boite de dialogue sans que l'utilisateur ait besoin de cliquer dessus.

Peut être est ce plus clair?

Merci de ton aide,

Bonjour Marky93,

tu peux utiliser le code

Application.DisplayAlerts = False

pour dire à Excel de ne pas afficher d'alerte. Ensuite quand tu fermes ton fichier, tu n'a qu'a lui dire si on l'enregistre ou non par code, ex:

ActiveWorkbook.Close SaveChanges:=False

oublie pas de remettre la valeur de DisplayAlerts à true.

Tip top.

Merci beaucoup de votre aide.

Parfait si ça fonctionne,

en passant, je viens de lire le code de Dan et il proposait exactement la même chose. Désolé Dan je ne voulais pas te doubler

Bonne journée à vous deux

Rechercher des sujets similaires à "boite dialogue voulez enregister"