Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

enregistrer classeur sur validation avec incrémentation onglet

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

kjin

XLDnaute Barbatruc
copier feuille sur validation avec incrémentation onglet

Bonsoir à tous,
J'ai un nouveau sujet de tracasserie pour lequel les bouts de solution que j'ai glanés sur ce forum magique ne répondent qu'en partie ou bien je suis passé à côté auquel cas je vous demande de ne pas m'en vouloir.
Je souhaite, sur validation, copier automatiquement la feuille "synthèse" de mon classeur actif dans un nouveau classeur nommé "produit X.xls" et y ajouter une nouvelle feuille nommée "Date". "Produit X" et "Date" sont des valeurs à récupérer "automatiquement" dans 2 cellules de ma feuille synthèse. En quelque sorte, incrémenter le nb de feuille de mon classeur "Produit X" à chaque enregistrement sans écraser les onglets existants.
En effet, même si j'exporte à chaque fois les données de ma feuille synthèse ailleurs dans un tableau récapitulatif, je souhaiterai quant même conserver une trace des tableaux de synthèse précédents.

Merci à vous et au forum
kjin
 

Pièces jointes

Dernière édition:
Re : enregistrer classeur sur validation avec incrémentation onglet

Il suffit de créer une petite macro, à rattacher à un bouton par exemple

Sub Lancement_Procédure()
Sheets("Synthèse").Select 'ligne pas forcèment obligatoire
Sheets("Synthèse").Copy 'Copie la feuille Synthèse dans un autre classeur
ActiveWorkbook.SaveAs Filename:="C:\" & Sheets("Synthèse").Range("C4") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
'Explication : Sheets("Synthèse").Range("C4") récupère la valeur contenue dans la cellule C4 de l'onglet Synthèse
Sheets.Add 'Rajoute un nouvel onglet
Sheets("Feuil1").Name = Month(Sheets("Synthèse").Range("C5")) & "_" & Right(Year(Sheets("Synthèse").Range("C5")), 2) ' renomme cet onglet
'Explication : Sheets("Synthèse").Range("C5") récupère la valeur contenue dans la cellule C5 de l'onglet Synthèse
'Month et Year sont utilisées pour récupérer le mois et l'année de la date portée en C5 ( un onglet ne peut pas porter un numéro de date classique
'Droite(....,2) permet de récupérer les 2 derniers caratères de l'année, en l'occurence 07
End Sub


Bonne journée
 
Re : enregistrer classeur sur validation avec incrémentation onglet

Bonsoir Patte d'Ours, bonsoir le forum
Je te remercie de t'être penché sur la question.
J'ai modifié mon classeur en m'inspirant de ta macro, ça fonctionne mais le problème demeure dans la mesure ou le nb d'onglet n'est pas incrémenté et que j'ai la création de 2 feuilles dont l'une possède effectivement le nom que souhaitais lui donner. Ce n'est pas vraiment ce que cherche à faire, à savoir: ouvrir le fichier que j'ai créé la première fois et y ajouter un nouvel onglet, et ceci avec les paramètres que j' indique dans mon premier post. En enregistrant, je remplace l'ancien fichier par le nouveau avec une feuille en plus.
Je pense qu'il manque des paramètres aux lignes Sheet.Name et sheets.Add.
Je continue à chercher mais si tu as une idée...
Merci
Kjin
 
Re : enregistrer classeur sur validation avec incrémentation onglet

Excuse-moi, je n'avais pas saisi ton besoin de garder l'ancien fichier + une nouvelle feuille.

Dans ce cas la macro est encore plus simple:

Sub Lancement_Procédure()
Sheets.Add 'Rajoute un nouvel onglet
ActiveSheet.Name = Month(Sheets("Synthèse").Range("C5")) & "_" & Right(Year(Sheets("Synthèse").Range("C5")), 2) ' renomme cet onglet.
ActiveWorkbook.SaveAs Filename:="C:\" & Sheets("Synthèse").Range("C4") & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

bonne soirée
 
Re : enregistrer classeur sur validation avec incrémentation onglet

Bonsoir matthieu33, bonsoir patte d'Ours, bonsoir à tous
Excusez moi pour la réponse tardive.
Ta solution, patte d'ours est à peu près celle que j'obtiendrai avec l'enregistreur de macro et ne me satisfait pas complètement.
A l'inverse, ta solution mathieu33 correspond bien à ce je souhaite obtenir mais malheureusement il subsite un problème que je n'arrive pas à élucider: le nouveau fichier est bien créé et le nom est correct, jusqu'ici tout va bien; mais ensuite, dans ce nouveau fichier, sont créés 2 nouveaux onglets au lieu d'un seul: une feuille vide nommée "mm_yy" et une feuille nommée "synthèse" copie de la feuille "synthèse" d'origine.
Or je souhaite seulement la copie de la feuille synthèse d'origine dans le nouvel onglet "mm_yy" nouvellement créé.
En fait, je souhaite au final, obtenir un fichier "produit.xls" avec un onglet "mm_yy" rajouté mensuellement et dont les données proviennent de ma feuille synthèse du fichier d'origine.
Ouf; si avec tout çà vous m'avez compris...
Merci à tous deux pour votre aide et au forum
kjin
 
Re : enregistrer classeur sur validation avec incrémentation onglet

Bonjour mathieu33, bonjour à tous,
Là c'est parfait.
Merci pour ton aide précieuse.
Au plaisir de te lire sur le forum.

kjin
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…