Enregistrer sous le même dossier avec le même nom plus version

Fermé
NathanZ Messages postés 1 Date d'inscription lundi 3 août 2015 Statut Membre Dernière intervention 3 août 2015 - 3 août 2015 à 15:58
Orbital38 Messages postés 68 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 31 octobre 2020 - 4 août 2015 à 15:30
Bonjour,

La maccro en question permet via un userform de parcourir les dossier et sélectionner un fichier puis d'y appliquer des modifications. Le chemin complet du fichier sélectionné s'inscrit dans Textbox1

J'aimerais qu'une fois toutes les modifications effectuées, le fichier ouvert soit enregistré sous le même dossier que le fichier d'origine et avec le même nom + un numéro de version à la fin.

Nom du fichier avant modifications:
D:\Documents and Settings\Bureau\Dossier1\Fichier de test.xls

Nom de la copie de fichier après modifications:
D:\Documents and Settings\Bureau\Dossier1\Fichier de test_v2.0.xls

Merci pour votre aide

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
4 août 2015 à 11:52
Bonjour,

Mettre ceci dans ThisWorkBook:

Option Explicit
Dim chemsave, nom  As String
Private Sub Workbook_BeforeClose(Cancel As Boolean)
nom = Split(ActiveWorkbook.Name, ".")(0)
 chemsave = ActiveWorkbook.Path & "\" & nom & "_v2.0.xls"
 ActiveWorkbook.SaveAs Filename:=chemsave, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
End Sub



0
Orbital38 Messages postés 68 Date d'inscription dimanche 4 janvier 2015 Statut Membre Dernière intervention 31 octobre 2020
4 août 2015 à 15:30
Si il veut passer un fichier en v3.0 il faut qu'il pense à faire une routine qui gère la récupération de la chaine "v2.0" (à partir du v jusqu'au dernier . avant l'extension).
Avec les Right, Left, InStr et Split tu devrais t'en sortir.

Pour te simplifier la vie je te conseille de mettre _v1.0 de base à tes fichiers. De cette manière tu n'as pas à gérer l'ajout d'une chaine de caractère puis la mise à jour de la version, mais seulement la mise à jour du numéro de version.
Sauf si tu ne comptes faire que des v1 (qui n'apparaissent pas dans le nom) et des v2.
0