Enregistrer sous avec condition
Bonjour,
Je souhaite enregistrer mon classeur dans 3 répertoires différents.
Jusque là pas de soucis. Maintenant ma difficulté c'est que sur un des 3 répertoires je souhaite l'enregistrer sous une condition.
La condition c'est d'enregistrer le fichier avec le numéro de la semaine (c'est ok) qu'une fois par semaine donc :
- si le fichier "toto_Sem_24" est dèjà présent dans le répertoire alors
on enregistre pas
sinon on enregistre
Il y a une macro avant l'enregistrement qui met à jour des données. Donc la macro peut être lancée plusieurs fois dans la semaine mais je veux l'enregistrer une seule fois par semaine dans un répertoire précis.
J'ai du mal à coder cette condition ...
Voila mon code non abouti et surtout en test
Sub save_as()
'
' save_as Macro
num_sem = Sheets("Feuil1").Range("J1").Value
MsgBox num_sem
Application.DisplayAlerts = False
ChDir "R:\03 - Pilotage BU\Global TEM\02 - Recrutement"
ActiveWorkbook.SaveAs Filename:= _
"R:\03 - Pilotage BU\Global TEM\02 - Recrutement\toto.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ChDir "R:\00 - Commun\003 - Commun RH\REPORTING RH"
ActiveWorkbook.SaveAs Filename:= _
"R:\00 - Commun\003 - Commun RH\REPORTING RH\toto.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
if
ChDir "R:\00 - Commun\003 - Commun RH\REPORTING RH\ARCHIVES\2018"
ActiveWorkbook.SaveAs Filename:= _
"R:\00 - Commun\003 - Commun RH\REPORTING RH\ARCHIVES\2018\toto_" & num_sem & ".xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
Application.DisplayAlerts = True
End SubMerci pour votre aide.
Hello,
A tester.
Sub save_as()
Dim Num_sem As Integer
Dim Rep_1 As String
Dim Rep_2 As String
Dim Rep_3 As String
Num_sem = Sheets("Feuil1").Range("J1").Value
Rep_1 = "R:\03 - Pilotage BU\Global TEM\02 - Recrutement"
Rep_2 = "R:\00 - Commun\003 - Commun RH\REPORTING RH"
Rep_3 = "R:\00 - Commun\003 - Commun RH\REPORTING RH\ARCHIVES\2018"
ActiveWorkbook.SaveAs Filename:=Rep_1 & "\toto.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWorkbook.SaveAs Filename:=Rep_2 & "\toto.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
If Dir(Rep_3 & Num_sem & ".xlsm") <> "" Then
MsgBox ("Le fichier existe déjà")
Exit Sub
Else: ActiveWorkbook.SaveAs Filename:=Rep_3 & Num_sem & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End If
End SubD'où est repris le toto.xlsm ? Accepte tu les écrasements d'enregistrement sur les Rep 1 et 2 ?
Cordialement,
Bonjour,
Merci pour la réponse ça fonctionne