Renommer automatiquement 365 feuilles avec dates du 1er janvier au 31 décembre
RedOne
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais créer automatiquement des feuilles Excel dans un classeur et qu'elles se renomment automatiquement également, avec les critères suivants:
-Je crée une feuille pour le 1er janvier qui se nomme 01 01
-Cette feuille contient un tableau Excel qui sera le même sur toutes les autres feuilles
J'aimerais que cette fonction (ou cette macro) me copie les 364 autres feuilles en les nommant automatiquement de 02 01 à 31 12 (les jours de l'année).
En sachant qu'avant la feuille du 01 01 se trouvera une feuille où apparaîtront pleins de cellules avec des valeurs qui serviront de base de données pour des cellules des différentes feuilles (mais je suppose que ça n'a pas forcément d'influence).
Pensez vous pouvoir m'aider?
Je n'y connais rien pour créer les macros (si c'est bien ça qu'il faut).
Je sais faire quelques fonctions simples (si c'est plutôt ce qu'il faut).
Merci de vos réponses,
Cordialement,
Je souhaiterais créer automatiquement des feuilles Excel dans un classeur et qu'elles se renomment automatiquement également, avec les critères suivants:
-Je crée une feuille pour le 1er janvier qui se nomme 01 01
-Cette feuille contient un tableau Excel qui sera le même sur toutes les autres feuilles
J'aimerais que cette fonction (ou cette macro) me copie les 364 autres feuilles en les nommant automatiquement de 02 01 à 31 12 (les jours de l'année).
En sachant qu'avant la feuille du 01 01 se trouvera une feuille où apparaîtront pleins de cellules avec des valeurs qui serviront de base de données pour des cellules des différentes feuilles (mais je suppose que ça n'a pas forcément d'influence).
Pensez vous pouvoir m'aider?
Je n'y connais rien pour créer les macros (si c'est bien ça qu'il faut).
Je sais faire quelques fonctions simples (si c'est plutôt ce qu'il faut).
Merci de vos réponses,
Cordialement,
A voir également:
- Renommer automatiquement 365 feuilles avec dates du 1er janvier au 31 décembre
- *31 - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Renommer des fichiers en masse - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
- Renommer iphone - Guide
1 réponse
Bonjour RedOne
Ta 1ere feuille 01 01 étant crée tu fais Alt+F11 pour ouvrir l'éditeur VBA
Dans les menus tu cliques sur Insertion puis Module
Tu copies et tu colles la macro suivante dans la page blanche et tu fermes l'éditeur
De retour en feuille 01 01 tu vas dans le ruban à Développeur puis Macros, tu sélectionnes la macro creer_feuilles et Executer
La macro met quelques secondes à créer toutes les feuilles
Cerise sur le gâteau l'onglet des feuilles des jours de week-end est coloré en rouge (si tu ne veux pas de cette option tu supprimes la ligne correspondante dans la macro ou tu la shuntes en rajoutant une apostrophe en début de cette ligne comme expliqué dans les commentaires de la macro
Cdlmnt
Via
Ta 1ere feuille 01 01 étant crée tu fais Alt+F11 pour ouvrir l'éditeur VBA
Dans les menus tu cliques sur Insertion puis Module
Tu copies et tu colles la macro suivante dans la page blanche et tu fermes l'éditeur
Sub creer_feuilles() Application.ScreenUpdating = False ' desactive le rafraichissement écran deb = CDate("01/01/2020") ' Pour une autre année changer l'année For n = 2 To 366 - a 'boucle de 2 à 366 (2020 bissextile, pour les années non bissextiles ne pas oublier de remplacer 366 par 365) deb = deb + 1 ' incrmente la date de début d'un jour Sheets("01 01").Select 'selectionne feuille 01 01 Sheets("01 01").Copy After:=Sheets(Sheets.Count) ' la copie en dernier Sheets("01 01 (2)").Select ' la selectionne ' la ligne suivante colorie l'onglet en rouge si c'est un jour de WE, si on ne veut pas cette possibilité mettre supprimer la ligne suivante ou mettre une apostriophe en tête de laligne qui passera en vert If Application.WorksheetFunction.Weekday(deb, 2) > 5 Then Sheets("01 01 (2)").Tab.Color = 255 Sheets("01 01 (2)").Name = Format(deb, "dd mm") ' renomme la feuille avec le jour et le mois Next Application.ScreenUpdating = True 'réactive le rafraichissement écran End Sub
De retour en feuille 01 01 tu vas dans le ruban à Développeur puis Macros, tu sélectionnes la macro creer_feuilles et Executer
La macro met quelques secondes à créer toutes les feuilles
Cerise sur le gâteau l'onglet des feuilles des jours de week-end est coloré en rouge (si tu ne veux pas de cette option tu supprimes la ligne correspondante dans la macro ou tu la shuntes en rajoutant une apostrophe en début de cette ligne comme expliqué dans les commentaires de la macro
Cdlmnt
Via