Bonjour à tous.
Je ne suis pas expert en VBA Excel et je rencontre un problème avec la fonction Application.Dialogs(xlDialogSaveAs).Show
J'ai un classeur de calcul d'horaires mensuel que je veux enregister, en cliquant sur la disquette "Enregistrer", en fonction d'un nom et d'une année définis dans ma feuille "JANVIER"
Worksheets("JANVIER").Range("B5").Value = le nom de l'employé
Worksheets("JANVIER").Range("B3").Value = l'année en cours
Ma variable "Nom_Fichier" fonctionne bien et elle est vide si le nom de l'employé n'est pas défini ce qui me permet de choisir un nom de sauvegarde.
Mon problème, c'est que si je mets un nom de fichier autre que celui d'origine, le fichier s'enregistre bien au nouveau nom, mais excel plante lamentablement après la sauvegarde : "Microsoft Office Excel a rencontré un problème et doit fermer..."
Voici mon programme placé dans ThisWorbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Nom_Fichier As String
If Worksheets("JANVIER").Range("B5").Value <> "" Then
Nom_Fichier = Worksheets("JANVIER").Range("B5").Value & " - Horaires " & Worksheets("JANVIER").Range("B3").Value
Else
Nom_Fichier = ""
End If
Application.Dialogs(xlDialogSaveAs).Show Nom_Fichier, 1
End Sub
Petite précision, je travaille sous Excel 2003 et 2007 avec le même problème.
Merci à ceux qui pourront m'éclairer.
Je ne suis pas expert en VBA Excel et je rencontre un problème avec la fonction Application.Dialogs(xlDialogSaveAs).Show
J'ai un classeur de calcul d'horaires mensuel que je veux enregister, en cliquant sur la disquette "Enregistrer", en fonction d'un nom et d'une année définis dans ma feuille "JANVIER"
Worksheets("JANVIER").Range("B5").Value = le nom de l'employé
Worksheets("JANVIER").Range("B3").Value = l'année en cours
Ma variable "Nom_Fichier" fonctionne bien et elle est vide si le nom de l'employé n'est pas défini ce qui me permet de choisir un nom de sauvegarde.
Mon problème, c'est que si je mets un nom de fichier autre que celui d'origine, le fichier s'enregistre bien au nouveau nom, mais excel plante lamentablement après la sauvegarde : "Microsoft Office Excel a rencontré un problème et doit fermer..."
Voici mon programme placé dans ThisWorbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Nom_Fichier As String
If Worksheets("JANVIER").Range("B5").Value <> "" Then
Nom_Fichier = Worksheets("JANVIER").Range("B5").Value & " - Horaires " & Worksheets("JANVIER").Range("B3").Value
Else
Nom_Fichier = ""
End If
Application.Dialogs(xlDialogSaveAs).Show Nom_Fichier, 1
End Sub
Petite précision, je travaille sous Excel 2003 et 2007 avec le même problème.
Merci à ceux qui pourront m'éclairer.
Dernière édition: