Bonjour
Je souhaite incrementer avec la date ou une serie de nombres les onglets d’un classeur
Pour ne pas avoir à renommer chaque onglet (l’occurrence de 1 à 90 ou 90 jours avec le 21 01 2018 comme premier jour)
Avez-vous une solution ?
Merci pour votre aide
Bonjour,
Un classeur test
Jean Pierre RAPP.xlsm (25,0 Ko)
Bonjour Jean-Pierre,
Pour bien comprendre ta demande et en ayant regardé le classeur Excel, tu désires renommer les feuilles de ton classeur. Est-ce bien 90 feuilles maximum ? Et les feuilles doivent être renommées en utilisant une date de départ?
Si la première feuille est renommée en 2018-01-21, les suvantes doivent devenir 2018-01-22, 2018-01-23, etc… Est-ce bien cela?
Autre question, est-ce qu’au départ, ton classeur contiendra les 90 feuilles ?
Bonjour
Merci pour votre retour
Le problème est bien posé dans le 1er message
Au départ j’ai une feuille mais je peux si nécessaire insérer les 90
Bonjour
Merci pour la réponse.
Est il possible d’incrémenter la date ?
(dans le tableau la date reste la même mais les n° s’incrémentent bien=
Re
A tester
Jean Pierre RAPP.xlsm (24,8 Ko)
Bonjour Jean-Pierre,
Je me permets de t’envoyer ton fichier avec 2 macros
la première crée les 90 feuilles
la deuxième renomme ces 90 feuilles
Bien à toi
Jean Pierre RAPP.xlsm (17,2 Ko)
1 « J'aime »
Re,
En effet, j’ai été trop vite en lecture
Jean Pierre RAPP (1).xlsm (25,7 Ko)
Bonjour
Avec un peu de retard un grand merci : cela correspond a ce que je voulais faire
Est il possible de savoir comment on fait ? ou m’indiquer ou trouver ce type d’information ?
Bonne fin de journée
Bonjour
Voici la procèdure à mettre dans un module par ALT F11 pour le Développeur
Option Explicit
Sub NommeOnglet()
'Déclarations des variables
Dim i%, j%
Dim Dte As Date
'Initialisation des variables
Dte = InputBox("Quelle est la date à indiquer ?", "Date à afficher", "00/00/0000")
j = 0 'Compteur pour incrémenter les jours
'boucle sur les onglets de 2 à nb onglet comptés
For i = 2 To Sheets.Count
Sheets(i).Select 'sélection du premier onglet
If Sheets(i).Name <> "Menu" Then 'si l'onglet ne se nomme pas "Menu" alors
If j > 90 Then MsgBox " 90 feuilles renseignées": Exit Sub 'si le compteur est plus grand que 90 (j), quitte la procèdure
Sheets(i).Name = Format(Dte + j, "dd-mm-yyyy") 'renomme l'onglet avec la date du premier onglet + 1 jour au format jj-mm-aaa (en anglais)
j = j + 1 'incrémente le compteur de 1
End If
Next i
Sheets("Menu").Activate 'Retourne sur l'onglet MENU
End Sub
1 « J'aime »
Merci
Il me reste du pain sur la planche pour maitriser….je vais essayer de reproduire ou faire une nouvelle macro
Bonjour
Je me permets de vous solliciter une nouvelle fois pour obtenir de l’aide et des eclaircissements.
Voilà
Je dois reproduire le tableau ci joint mais en modifiant des éléments: nombre d’équipes, année 18 & 19, modifier les couleurs sur le tableau recap
Apres réenregistement pour pouvoir modifier le tableau (enlever la protection je ne peux le faire)
Donc il y a des formules cachées :
comment faire pour les voir? les modifier?
Comment debloquer les cellules (en fait je ne voit pas où cela est caché)
Comment reproduire ce calendrier qui est tres bien puisqu’il reprend les jours fériés et chomés
Et ce pour les 2 années a venir? En respectant les separations des semaines comme dans le tableau joint?
Comment a été réalisée la colonne des semaines ? (si je rejoute des lignes en fin cela ne reproduit pas le format qui precede
Comment enlever/modifier les parties coloriées dans les plages horaires des équipes (bleu foncé)?
Y a t il un moyen de lier les pages pour qu’une modification sur la page recap se répercute automatiquement sur les pages équipes?
Merci d’avance pour votre aide et vos éclaircissements afin que je puisse maitriser tout cela
Bien cordialement et bonne fin de journée
Planning FO Annuel 2018 v1.xlsx (499 KB)
Bonjour,
Tu n’as aucune formule dans ton classeur, ni aucune MFC
N’aurais tu pas fait une copie de ton classeur et/ou enregistré celui en xlsx alors qu’il contenait des macros
Sinon, je ne vois pas
Bonjour
C’est l’original tel qu’on me l’a donné : je vois bien qu’il y a des blocages mais je ne les trouve pas
Y a-t-il un moyen de reproduire le calendrier avec jours chômés et fériés ? et avec l’espacement des semaines ?
Une possibilité de lier les pages ?
Merci d’avance
Re,
Avec EXCEL, il y a toujours moyen
Mais encore faut-il savoir exactement ce que l’on veut en finalité ,
Si c’est un simple calendrier avec les SAM et DIM et Jours fériés non affichés, c’est assez facile
Après, s’il faut jouer avec des plages de travail par rapport à des personnes ou équipe, c’est plus la même et sans explications détaillées 
C’est juste un planning pour afficher les heures des permanences d’équipes téléphoniques
Donc le calendrier par semaine avec les jours de travail effectif suffit , il faut juste espacer les semaines comme sur le tableau qui était joint
Apres les plages horaires sont déterminées par la hiérarchie pour chaque équipe . dans mon cas 3 équipes => en 3 semaines toutes les équipes ont fait les 3 plages
La vue globale est sur une page de récap et pour commodité chaque équipe à une page propre qui ne reprend que ses créneaux à partir de la récap
Il faut pouvoir faire des modifications de plage horaire sur la page récap
Voilà pas trop compliqué
Mais cela le calendrier espacé qui me pose surtout problème
Re,
3 Equipes, trois fois la même date sur RECAP ?
les Jours de travail, du Lundi au Vendredi sans les Jours fériés (Français) ?
3 Equipes (plage de travail sur Equipe) style A-Midi - MATIN - Nuit ou autres ?
Bref, faut développer
Re,
Pas de réponse aux question, donc voilà une esquisse
MACRO:
Sub ListeJOuvresFeries()
Dim Ecart%, NbJour%, i%, Dl% 'Déclaration des variables
Dl = Range("H" & Rows.Count).End(xlUp).Row + 1 'n° de la dernière ligne non vide de la colonne H
Range("C3:C" & Dl).ClearContents 'Efface les dates
Ecart = 3 'Espacement pour incrémenter les dates
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Range("C4").Select
ActiveCell.FormulaR1C1 = "=WORKDAY(DATE(R1C1,1,0),1,Ferie)" 'Calcul 1er jour année ouvré et non férié
ActiveCell.Copy
For i = 3 To 369 'boucle sur 369 ligne
Selection.Copy 'copy la formule
Selection.Offset(Ecart, 0).Select 'sélectionne la cellule decaler de 3
ActiveCell.FormulaR1C1 = "=WORKDAY(R[-3]C,1,Ferie)" 'applique la formule et la colle
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.FormulaR1C1 = "=WORKDAY(R[-3]C,1,Ferie)" 'réapplique la formule pour la copier et la réappliquer 3 cellule + bas etc...
If Year(ActiveCell) > Range("A1") Then 'stoppe la recopie
Application.Calculation = xlCalculationAutomatic
Exit Sub
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Sheets("Paramètres").Select
Sheets("RECAP").Select
End Sub
Planning.xlsm (210,3 Ko)