Signaler

Sauvegarde fichier excel [Résolu]

Posez votre question quentiiin68 - Dernière réponse le 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.
Afficher la suite 
Utile
+0
moins plus
Bonjour,

Dans votre function Fichierexiste(, mettez la ligne On error en commentaire et vous aurez la reponse.
quentiiin68- 19 sept. 2016 à 11:48
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
Répondre
f894009 10215Messages postés dimanche 25 novembre 2007Date d'inscription 22 septembre 2016 Dernière intervention - 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
Répondre
quentiiin68- 19 sept. 2016 à 12:53
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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !