problème d’incrémentation et de sauvegarde

  • Initiateur de la discussion Initiateur de la discussion timekeeper
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

timekeeper

Guest
Bonjour à tous et à toutes,
Voilà mon problème du jour,
Je souhaiterais créer une petite macro aux propriétés suivantes :
Je voudrais que lorsque je la lance, elle enregistre le fichier avec une incrémentation de type « -001 »

Exemple : le fichier ouvert s’appelle FICHIERENCOURS-000.XLS
Lorsque j’active la Macro, el enregistre donc le fichier sous FICHIERENCOURS-001.XLS
Et bien sûr si je relance la macro il réenregistre sous FICHIERENCOURS-002.XLS
Et ainsi de suite
Mes fichiers finissent toujours par -000 (enfin un – suivi d’un chiffre)

Merci par avance pour votre efficacité et votre gentillesse

Cordialement

Sébastien
 
Re : problème d’incrémentation et de sauvegarde

Bonjour.
Ce serait quelque chose comme ça :
VB:
Dim Z As String
Z = ThisWorkbook.Name
ThisWorkbook.SaveAs "FichierEnCours-" & Format(Mid$(Z, 16, 3) + 1, "000") & ".xls", FileFormat:='etc.
 
Re : problème d’incrémentation et de sauvegarde

merci cela m'approche de la méthode mais cela ne fonctionne pas.

mes fichiers ont des noms différents seul les 4 derniers caractères sont constants (exemple "-000" "-001" "-002" .....)
 
Re : problème d’incrémentation et de sauvegarde

Bonjour,

Une piste avec le code suivant
Code:
Sub aa()
Dim A$
Dim Suffixe$
Dim Prefixe$
Dim Increment&
'--- Suffixe et prefixe du nom du classeur ---
A$ = ThisWorkbook.Name
Suffixe$ = Mid(A$, InStrRev(A$, "."))
Prefixe$ = Mid(A$, 1, Len(A$) - Len(Suffixe$) - 3)
'--- Fait une copie du classeur en incrémentant sa numérotation ---
'---        (n'écrase pas les classeurs déjà existants)         ---
Do
  If Dir(ThisWorkbook.Path & "\" & Prefixe$ & Format(Increment&, "000") & Suffixe$) = "" Then
    ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & Prefixe$ & Format(Increment&, "000") & Suffixe$
    Exit Do
  Else
    Increment& = Increment& + 1
  End If
Loop
End Sub
 
Re : problème d’incrémentation et de sauvegarde

Grand merci a tous,

PMO2, ta piste était parfaite , même au delà de ce que je voulais, j'y ai modifié un ou deux paramètres et cela me convient a merveille.

encore merci


sebastien
 
Re : problème d’incrémentation et de sauvegarde

Oups ,
je reviens vers vous car cela fonctionne bien tant que je reste dans le fichier.

mais j'ai voulus le mettre dans un XLA pour pouvoir l'utiliser dans tous mes fichiers et la il ne fonctionne plus, malgré que cela paraisse normal, cela ne fonctionne pas!


Merci de votre aide

sebastien
 
Re : problème d’incrémentation et de sauvegarde

Bonjour

je suis ignare en XLA mais en premier réflexe je me demande si thisworkbook (quand la macro en dépend) ne devrait pas être remplacé par activeworkbook quand la macro est ailleurs
 
Re : problème d’incrémentation et de sauvegarde

ERIC S je suis ignare en XLA mais en premier réflexe je me demande si thisworkbook (quand la macro en dépend) ne devrait pas être remplacé par activeworkbook quand la macro est ailleurs

Bonjour,

Pas si ignare que cela car bien subodoré.
ThisWorkbook est le classeur qui contient la macro qui s'exécute.
ActiveWorbook est le classeur actif.

Par conséquent, remplacez dans le .xla (ou .xlam) tous les ThisWorkbook par ActiveWorbook.
Le traitement affectera le classeur actif (le .xla ne sera jamais actif).
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
4
Affichages
409
DidPouAxi
D
I
  • Question Question
Microsoft 365 Exit sub save As
Réponses
3
Affichages
776
Intermoi
I
Réponses
2
Affichages
967
Réponses
14
Affichages
2 K
Retour