sauvegarde incrémenté

  • Initiateur de la discussion Initiateur de la discussion WocaM
  • 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 !

W

WocaM

Guest
Bonjour

Apres avoir cherché sur le forum sans succes voila mon probleme

J'ai crée un fichieravec une feuille menu (avec des boutons) et d'autres feuilles cachés. Lorsque l'on clique sur un des boutons, je copie la feuille correspondante
et la, je voudrais sauvegardé automatiquement cette feuille dans un répertoire de stockage en donnant comme nom de fichier, le dernier nom "+1" des fichiers présent dans le répertoire mais sans passer par une cellule qui stockerai l'increment car le répertoire de stockage est susceptible de recevoir des fichiers dont le nom a été crée manuellement

J'espere avoir été assez clair et que quelqu'un pourra m'aidez
Merci d'avance
 
Re: sauvegarde incrémentée

bonjour WocaM , bonjour Salim

cet exemple permet
de copier une des feuilles du classeur contenant la macro ( ici c'est la "Feuil1" )
de compter le nombre de fichiers deja existants dans le repertoire de destination
et d'enregistrer la feuille copiée en incrementant le nom d'une unité

nécéssite d'activer la reference Microsoft Scripting Runtime
dans visual basin Editor (Alt+F11 )
menu Outils
References
cocher la ligne Microsoft Scripting Runtime
cliquer sur "OK" pour valider


Sub ArchivageIncremente()
necessite d'activer la reference Microsoft Scripting Runtime
Dim Chemin As String
Dim Fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim nbFichiers As Integer

' adapter le chemin du repertoire d'enregistrement
Chemin = "C:\Documents and Settings\michel\dossier\general\excel\repertoire stockage"

Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(Chemin)
nbFichiers = SourceFolder.Files.Count + 1

ThisWorkbook.Sheets("Feuil1").Copy ' créée une copie de la feuille à enregistrer
ActiveWorkbook.SaveAs Chemin & "\" & "leNomDuFichier" & nbFichiers & ".xls"
'ActiveWorkbook.Close False ' fermeture du classeur enregistré

End Sub


bonne journée
MichelXld
 
Re: sauvegarde incrémentée

bonjour Michel

Merci beaucoup

ceci correspond exactement a ce que je voulais, seulement j'ai encore une petite question. Comment formater le nombre incrementé dans vba de la forme 001, 002, etc... comme on peut le faire directement dans excel car avec la fonction format je n'arrive pas à trouver les bons arguments


Merci encore pour cette solution si rapidement donné
 
bonjour salim


désolé de ne pas d'avoir remercier car en plus tu m'avais repondu tres vite
j'ai regadé hier soir tres rapidement le site que tu m'indiquais et je suis parti me coucher et ce midi en rentrant il y avait la reponse de michel qui me donnait la solution

bonne journée
 
- 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

  • Question Question
Microsoft 365 aide userform
Réponses
11
Affichages
797
Réponses
12
Affichages
1 K
Retour