J'ai une macro me permettant de sauvegarder mon fichier excel. Cependant, j'aimerai, au cas-où un fichier du même nom existe deja, que ma macro sauvegarde le fichier mais avec un "V2" a coté.
Voici ma macro:
Sub exportandsaveas()
Sheets(file).Move
Call RépertoireExiste("S:\BRUSSELS\MIS\AUM\2016\Active-Passive Reco\" & m)
Call Fichierexiste("S:\BRUSSELS\MIS\AUM\2016\Active-Passive Reco\" & m & "\" & file & " " & m & ".xlsb")
MsgBox ("File has been saved in Active-Passive Reco" & " " & m)
End Sub
Et voici les deux fonctions:
Function RépertoireExiste(chemin As String) As Boolean On Error Resume Next RépertoireExiste = GetAttr(chemin) And vbDirectory If RépertoireExiste = True Then Exit Function Else MkDir (chemin) End If End Function
Function Fichierexiste(fichier As String) As Boolean Dim i As Integer i = 1 On Error Resume Next Fichierexiste = GetAttr(fichier) And vbNormal If Fichierexiste = True Then ActiveWorkbook.saveas Filename:="S:\BRUSSELS\MIS\AUM\2016\Active-Passive Reco\" & m & "\" & file & " " & m & "V-" & i + 1 & ".xlsb", _ FileFormat:=xlExcel12, CreateBackup:=False Else ActiveWorkbook.saveas Filename:="S:\BRUSSELS\MIS\AUM\2016\Active-Passive Reco\" & m & "\" & file & " " & m & ".xlsb", _ FileFormat:=xlExcel12, CreateBackup:=False End If End Function
Le problème est que la deuxième fonction (Function fichierexiste) n'arrive pas à détecter la présence du fichier dans le répertoire de destination lorsque celui-ci existe deja.
Dans votre function Fichierexiste(, mettez la ligne On error en commentaire et vous aurez la reponse.
quentiiin68
Ca change rien, la fonction ne détecte tjs pas la présence du fichier. De plus, si je mets en commentaire la ligne On Error, la macro bug dans le cas ou le fichier n'existe pas
Ben, vous avez une variable Fichierexiste qui a le meme nom que la fonction (idem pour repertoireexiste), donc ca pannouille un peu, appel recurcif