Zon,
Premièrement merci pour ta réponse très rapide.
J'ai donc testé :
month_form, provient d'un formulaire
year_form, provient d'un formulaire
MsgBox "Please load Vendor File", vbOKOnly
Open_File = Application.GetOpenFilename("All Type (*.*), *.*")
If Open_File = False Then GoTo Fin3
Workbooks.Open Filename:=Open_File
MsgBox "Please save this file to not work on Vendor File", vbOKOnly
Again:
save_name = "Scan-Upload File-" & Format(month_form, "00") & "-" & WorksheetFunction.Proper(Right(year_form, 2))
save_file = Application.GetSaveAsFilename(InitialFilename:=save_name, fileFilter:="Excel Files (*.xls), *.xls")
'
' CHECK IF THIS FILE IS ALREADY OPEN !!!
If save_file <> False Then
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=save_file ', CreateBackup:=False
If Err.Number = 1004 Then Workbooks(save_name).Close 0
MsgBox "Save as " & save_file, vbOKOnly, "Work File"
Else: MsgBox "You must save this file", vbOKOnly: GoTo Again
End If
Fin3
Exit Sub
Alors voila ce qui se passe :
- Open_file est le fichier source, vu que la macro va travailler pour le modifier, je demande à l'utilisateur de sauvegarder sous un autre nom (pour éviter tout problème)
- L'utilisateur est invité à sauvegarder sous le save_name mais peut le changer !
Le code modifié ne fait deja plus planter la macro, c'est deja ca mais :
si un fichier indentique au save_name est deja ouvert, la macro enregistre le nouveau fichier sous open_file et travail dessus :-((
Je ne comprends pas ou est l'erreur.
NB :
Open_file est du type 'c:\repertoire\nom_fichier_source.xls'
Save_name est du type 'nom_du_fichier_cible' (sans .xls, mais j'ai essayé en le rajoutant, ca ne change rien)
Save_file est du type 'c:\repertoire\nom_fichier_destination.xls'