Re-,
Grâce au code de Banzai64, j'ai essayé de comprendre d'où venaient mes erreurs...
Voici le code auquel j’aboutis :
Dim EnCours As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveUI As Boolean, Cancel As Boolean)
Dim fich As Variant, fich2 As Variant
Dim Nom As Variant
Dim file_name As Variant
Dim LValue As String
If EnCours = True Then Exit Sub
EnCours = True
reponse = MsgBox("Administrateur ?", vbYesNo)
' If reponse = vbCancel Then End Sub
Select Case reponse
Case vbYes
Call Closer1
Case vbNo
Call Closer2
Case vbCancel
Cancel = True
End Select
End Sub
Sub Closer1()
EnCours = True
If InputBox("Mot de passe administrateur", "Sauvegarde") = "abc" Then
Application.DisplayAlerts = False
Application.Dialogs(xlDialogSaveAs).Show
Application.DisplayAlerts = True
Cancel = True
EnCours = False
End If
End Sub
Sub Closer2()
Dim Cancel As Boolean
Nom = Year(Date) & "." & Month(Date) & "." & Day(Date) & " - " & Range("C2") & ".xls"
file_name = Application.GetSaveAsFilename(Nom, _
FileFilter:="Excel Files,*.xls,All Files,*.*", _
Title:="Save As File Name")
If file_name = False Then Exit Sub
If file_name = True Then ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Nom
Application.DisplayAlerts = True
Cancel = True
EnCours = False
End Sub
En utilisant le débogage pas à pas détaillé, je vois que dans la sub closer1(), lors de l'ouverture de l'Application.Dialogs(xlDialogSaveAs).Show, le code me renvoie vers Private Sub Workbook_BeforeSave...
Le but de cette sub closer1() est de laisser le choix du nom du fichier à l'utilisateur, ce qui rend l'utilisation de Application.GetSaveAsFilename plus difficile...
Quelqu'un a-t-il une idée ???
Merci beaucoup,
Bonne journée,