erreur GetSaveAsFilename

mc_guiloo

XLDnaute Nouveau
Bonjour au forum,

J'ai écrit une macro pour forcer l'utilisateur en enregistrer le classeur avec un nom précis, et ce seulement si le fichier de départ est "Medele Tableau.xls".
Cependant, après l"enregistrement, Excel me retourne un message d'erreur me proposant de récupérer mes données non enregistrées, ainsi que d'envoyer un rapport d'erreur à microsoft. toutefois, l'enregistrement à été réalisé avec succès. Une idée ?

Mon code :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fName
Dim Chemin As String

If ThisWorkbook.Name <> "Modele Tableau.xls" Then Exit Sub

Chemin = ThisWorkbook.Path & "\Tableau " & Range("Feuil2!H3").Text & ".xls"

fName = Application.GetSaveAsFilename(InitialFileName:=Chemin)

If fName <> False Then ThisWorkbook.SaveAs FileName:=fName

End Sub

Merci d'avance

Guilhem
 
Dernière édition:

mc_guiloo

XLDnaute Nouveau
Re : erreur GetSaveAsFilename

C'est bon, j'ai enfin trouvé la solution.
L'erreur était due au fait que l'on ne désactivait pas la sauvegarde du au clic sur le bouton enregistrer. Du coup, il voulait enregistrer deux fois mon classeur.
La solution consiste à placer un
application.enablevents = False

Voici donc mon code si ca peut servir un jour à quelqu'un

'**************Suggère un nom d'enregistrement*************
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fName
Dim Chemin As String

'on ne propose un enregistrement particulier que pour le modèle
If ThisWorkbook.Name <> "Modele Tableau.xls" Then Exit Sub

Chemin = ThisWorkbook.Path & "\Tableau " & Range("Feuil2!H3").Text & ".xls"

'on annule l'enregistrement en cours
Cancel = True

Application.EnableEvents = False 'pour ne pas tenir compte de l'annulation
fName = Application.GetSaveAsFilename(InitialFileName:=Chemin)

'si l'utilisateur clic sur annuler, on annule la sauvegarde
If fName = False Then
Cancel = True
Exit Sub
End If

ThisWorkbook.SaveAs FileName:=fName

Application.EnableEvents = True
End Sub
 

Discussions similaires

Réponses
9
Affichages
116

Membres actuellement en ligne

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 529
dernier inscrit
StarExcel