problème d’incrémentation et de sauvegarde

timekeeper

XLDnaute Nouveau
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
 

Dranreb

XLDnaute Barbatruc
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.
 

PMO2

XLDnaute Accro
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
 

timekeeper

XLDnaute Nouveau
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
 

ERIC S

XLDnaute Barbatruc
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
 

PMO2

XLDnaute Accro
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).
 

Discussions similaires

Réponses
14
Affichages
1 K

Statistiques des forums

Discussions
312 198
Messages
2 086 122
Membres
103 126
dernier inscrit
Vuagno27