Nommer le nom de plusieurs feuilles
Résolu
JCD
-
JCD -
JCD -
Bonjour,
j'aimerais créer un programme qui me nomme mes feuilles (je vais en avoir beaucoup) avec une date.
Chaque feuille aurait une date qui se suit.
Feuille 1 par exemple serait 01 janvier 2010 par exemple.
Feuille 2 02 janvier 2010 ....
Comme je vais avoir environ 90 feuilles, est-ce qu'il y aurait une solution pour automatiser le nom des feuilles?
En vous remerciant
j'aimerais créer un programme qui me nomme mes feuilles (je vais en avoir beaucoup) avec une date.
Chaque feuille aurait une date qui se suit.
Feuille 1 par exemple serait 01 janvier 2010 par exemple.
Feuille 2 02 janvier 2010 ....
Comme je vais avoir environ 90 feuilles, est-ce qu'il y aurait une solution pour automatiser le nom des feuilles?
En vous remerciant
10 réponses
-
Bonjour,
La cellule [A1] doit-être en format date . -
Bonjour,
Mettre la date de départ en [A1] et la procédure suivante dans un module puis lancer la procédure.Sub renommerSh() madate = Range("A1").Value: c = 0 For Each sh In Worksheets sh.Name = madate + c c = c + 1 Next sh End Sub -
Merci de ta réponse Le Pingou,
Lorsque j'exécute ta macro j'ai une erreur d'exécution 1004.
Le nom de la feuille n'est pas valide.
Sans exagérer, est-ce qu'il serait possible d'avoir un paramètre en plus.
Commencer le changement de nom à partir d'une feuille (d'un numéro sheets(15) par exemple).
Ce qui me permettrait de ne pas modifier les 14 première.
Encore Merci -
Bonjour,
Il faudrait m'expliquer cette erreur !
Si erreur pas de suite possible.
Salutations.
Le Pingou -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je crois que VB récupère le nom sous la forme jj/mm/aa et comme le '/' n'est pas permis pour un nom de feuille il faut faire quelque chose au niveau du format date
-
Le débogueur me surligne cette ligne de commande
Sh.Name = madate + c
avec le message d'erreur précedent ou il me demande de vérifier le nom de la feuille. -
Bonjour tt le monde,
excusez l'incruste
Option Explicit Const depart As Byte = 15 ' feuille de début de numérotage Sub baptiser_onglet() Dim date_dep As Date, dateX As Long, nbre As Byte, cptr As Byte date_dep = InputBox("saisir la date sous forme jj/mm/aa") dateX = DateSerial(Year(date_dep), Month(date_dep), Day(date_dep)) nbre = ThisWorkbook.Sheets.Count Application.ScreenUpdating = False For cptr = depart To nbre Sheets(cptr).Name = Format(dateX, "dd mmmm yyyy") dateX = dateX + 1 Next End Sub
Attention, la réponse sous forme date de l'inputbox n'est pas traité
explication: pour additionner une date en VBA il faut utiliser dateserial -
Merci pour votre aide,
J'ai bien mis ma cellule [A1] sous format date.
Pour michel_m, j'ai également une erreur d'exécution sur cette ligne
Sheets(cptr).Name = Format(dateX, "dd mmmm yyyy")
Erreur d'exécution 9
L'indice n'appartient pas à la selection -
la macro de michel_m est très intéressante et marche bien
pour JCD au vu du message derreur
peut être : la macro suppose que tu as dejà plus de 15 feuilles dans ton classeur (const depart = 15), elle ne crée pas de nouvelles feuilles donc ... -
Re Bonsoir michel_m,
Effectivement ça fonctionne bien chez moi.
Je vais retester demain.
Merci à tous.