Bonjour à tous : voici le code qui pose problème:
Je veux en fait proposer à l'utilisateur de garder une copie de l'analyse faite puis je veux que fichier excel se ferme (sans enregistrement) et sans le message : "Voulez-vous enregistrez...."
Quand j’exécute cela l'instruction suivante se fait deux fois:
C'est à dire que je vois ce message à l'écran 2 fois avant de quitter Excel... alors qu'il devrait le faire qu'une seule fois. Je ne vois pas du tout pourquoi ça fait ça
Merci de votre aide.
Voici le contenu de la procédure Save1 que j'apelle si l'utilisateur veut garder une copie:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim Sauvegarde As String
Sauvegarde = MsgBox("Do you want to save a copy of analysis?", vbyesno)
If Sauvegarde = vbYes Then
Call Save1
End If
'On nettoie la feuille "carac"
Sheets("carac").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
ActiveSheet.DrawingObjects.Delete 'Supprime tous les objets de la feuille "carac"
'On supprime les onglets sauf les 2 initiaux
For Each onglet In Worksheets
Application.DisplayAlerts = False
If onglet.name <> "carac" And onglet.name <> "results" Then
Sheets(onglet.name).Activate
ActiveWindow.SelectedSheets.Delete
End If
Next onglet
'On nettoie enfin la feuille "results"
Sheets("results").Select
Range("A:A,B:B").Select
Selection.ClearContents 'D'abord on nettoie les 2 premières colonnes
Cells(1, 1).Select
For Each Legraph In ActiveSheet.ChartObjects 'Puis On supprime les graphiques deja existant.
Legraph.Delete
Next
Application.DisplayAlerts = False
Application.ActiveWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Je veux en fait proposer à l'utilisateur de garder une copie de l'analyse faite puis je veux que fichier excel se ferme (sans enregistrement) et sans le message : "Voulez-vous enregistrez...."
Quand j’exécute cela l'instruction suivante se fait deux fois:
Code:
Sauvegarde = MsgBox("Do you want to save a copy of analysis?", vbyesno)
If Sauvegarde = vbYes Then
Call Save1
End If
C'est à dire que je vois ce message à l'écran 2 fois avant de quitter Excel... alors qu'il devrait le faire qu'une seule fois. Je ne vois pas du tout pourquoi ça fait ça
Merci de votre aide.
Voici le contenu de la procédure Save1 que j'apelle si l'utilisateur veut garder une copie:
Code:
Public Sub Save1() 'copie sauvegarde classeur
Dim nom1 As String
nom1 = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.name
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom1
rep = MsgBox("Your database is saved in the same record as the original file, under the name : " & nom1, vbYes + vbInformation, "Copie sauvegarde classeur")
End Sub
Dernière édition: