Microsoft 365 Incrémenter le nom d'un fichier excel avec vba

decga

XLDnaute Nouveau
Bonjour,

Je suis actuellement à la recherche d'une solution pour incrémenter le nom d'un fichier

Alors en fait j'ai un fichier nommé "fichier000" dans lequel je rentre des informations qui sont envoyées dans 2 autres fichiers (jusque la je sais faire)
Ensuite j'aimerais fichier "fichier000" soit enregistré dans un autre dossier avec un nom différent du type "fichier001" et j'aimerais que le nom soit incrémenté à chaque fois que j'ouvre le fichier de base "fichier000"

Est ce que quelqu'un a la solution pour incrémenter le nom?


Code actuel pour l'enregistrement avec un nouveau nom :

'Enregistre la fiche EPM sous un nouveau nom
Workbooks("000 Trame EPM Info 2017-10-10").SaveAs "C:\Users\dgab\Desktop\EPM\EPM Test\ListeEPM\EPM0000000" & 1 & ".xlsm"


Merci d'avance
 

decga

XLDnaute Nouveau
Bonjour decga, Claudy, JM,

Evidemment mais ça va servir à quoi ?

Voyez le fichier joint et cette macro :
VB:
Sub Enregistrer()
Dim chemin$, racine$, fichier$, maxi%
With ThisWorkbook
    chemin = .Path & "\" 'dossier à adapter
    racine = Left(.Name, Len(.Name) - 8)
    fichier = Dir(chemin & racine & "*.xlsm") '1er fichier du dossier
    While fichier <> ""
        If fichier Like racine & "###.xlsm" Then
            If Val(Mid(fichier, Len(racine) + 1)) > maxi Then maxi = Val(Mid(fichier, Len(racine) + 1))
        End If
        fichier = Dir 'fichier suivant
    Wend
    .SaveAs chemin & racine & Format(maxi + 1, "000") 'enregistrement avec incrémentation du nom
End With
End Sub
A+

Bonjour

c'est pour archiver les fichiers dans un document
 

decga

XLDnaute Nouveau
Oui oui j'ai tester le votre et tout fonctionne mais c'est quand j'adapte au mien que ça coince

Le fichier que je veux dupliquer porte ce nom "000 FICHE PRO.xlsm"
Le chemin du dossier ou je veux enregistrer le fichier est C:\Users\det\Desktop\EPC\
Et je veux enregistrer le fichier sous le nom de EPC00000000 ,EPC000000001
 

job75

XLDnaute Barbatruc
A priori l'adaptation est simple :
VB:
Sub Enregistrer()
Dim chemin$, racine$, fichier$, maxi%
chemin = "C:\Users\det\Desktop\EPC\"
racine = "EPC"
fichier = Dir(chemin & racine & "*.xlsm") '1er fichier du dossier
While fichier <> ""
    If fichier Like racine & "#*.xlsm" Then _
        If Val(Mid(fichier, Len(racine) + 1)) > maxi Then maxi = Val(Mid(fichier, Len(racine) + 1))
    fichier = Dir 'fichier suivant
Wend
ThisWorkbook.SaveAs chemin & racine & Format(maxi + 1, "000000000") 'enregistrement avec incrémentation du nom
End Sub
Le nom du fichier au départ n'a aucune importance.
 

Discussions similaires

Réponses
5
Affichages
284