Sauvegarde fichier excel

Résolu/Fermé
quentiiin68 - 19 sept. 2016 à 10:57
 quentiiin68 - 19 sept. 2016 à 12:53
Bonjour,

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.

Merci d'avance.
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
19 sept. 2016 à 11:34
Bonjour,

Dans votre function Fichierexiste(, mettez la ligne On error en commentaire et vous aurez la reponse.
0
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
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > quentiiin68
19 sept. 2016 à 12:36
Re,

Ben, vous avez une variable Fichierexiste qui a le meme nom que la fonction (idem pour repertoireexiste), donc ca pannouille un peu, appel recurcif
0
J'ai réussi à solutionner mon pb comme ca:

Fichierexiste = Dir(fichier) And vbNormal
If Fichierexiste <> "" 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
0