Incrémenter une série automatique des feuilles de mon classeur
pyro13
Messages postés
5
Statut
Membre
-
pyro13 Messages postés 5 Statut Membre -
pyro13 Messages postés 5 Statut Membre -
Bonjour,
Je ne sais pas si j'ai bien formulé ma question. J'utilise souvent vos réponse et j'ai bcp appris grâce à CCM mais là je crois que je n'y arriverai pas tout seul...
J'ai créé un tableau simple d'emploi du temps hebdomadaire, je voudrais que de manière automatique, la feuille suivant soit la deuxième semaine de l'année, la 3ème feuille la 3ème semaine de l'année et ainsi de suite.
Aussi, je voudrais que de manière automatique encore, s'inscrive les dates du jour, du lundi au vendredi.
J'espère m'être bien fait comprendre (première question...)
Je vous remercie d'avance pour vos retours!
Je ne sais pas si j'ai bien formulé ma question. J'utilise souvent vos réponse et j'ai bcp appris grâce à CCM mais là je crois que je n'y arriverai pas tout seul...
J'ai créé un tableau simple d'emploi du temps hebdomadaire, je voudrais que de manière automatique, la feuille suivant soit la deuxième semaine de l'année, la 3ème feuille la 3ème semaine de l'année et ainsi de suite.
Aussi, je voudrais que de manière automatique encore, s'inscrive les dates du jour, du lundi au vendredi.
J'espère m'être bien fait comprendre (première question...)
Je vous remercie d'avance pour vos retours!
5 réponses
-
Bonjour
un exemple de semainier (2 feuilles uniquement avec choix de la semaine ou du mois)
choix semaine et param^tres (feuille "saisie")dans cellules bleues
http://www.cjoint.com/c/FAhibMg4xzy
Edit: une petite erreur dans les n° de semaine: je regarde de suite si le système t'intéresse sinon, je mets le classeur sous le coude
Michel -
Bonjour Pyro , Michel.
Avec tout le respect que je te dois Michel , je ne suis pas certain que tu aies compris ce que demandais Pyro.
Pyro, corrige moi si je me trompe, tu demandes la création automatique de chaque semaine de l'année 2016, avec les jours du lundi au vendredi sur chaque feuille.
Globalement, un total de 52 feuilles (+1 : la première du vendredi 01/01 au dimanche 03/01), pour 52 semaines.
Il faudra pour ça, utiliser des macros. Est tu capable de le faire ?
Cdlt
Fahora -
SI, j'ai compris mais je lui propose un autre système comme je l'ai indiqué
un exemple de semainier (2 feuilles uniquement avec choix de la semaine ou du mois)
quant aux 53 feuilles le pb a déjà été traité dans le forum VBA et il faut que je le modifie pour les semaines ISO dès que je peux
Michel -
Bonjour à tous,
Voici un autre exemple en vba.
Faire Alt F11 pour accéder à l'éditeur, inserer un UserForm, y mettre un commandbutton avec ce code:
Option Explicit Dim numero As Integer Dim i As Integer Sub afficher_semaine() 'numero = Format(Date, "ww", vbMonday, vbFirstFourDays)'recuperer numero de semaine Range("A1") = LundiSem(i, 2016) Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy" Range("A1").Select Selection.AutoFill Destination:=Range("A1:A7"), Type:=xlFillDefault Range("A1:A7").Select Selection.HorizontalAlignment = xlLeft ActiveSheet.Columns("A").AutoFit End Sub Function LundiSem(SEMAINE As Integer, Optional ANNEE As Integer) As Date If ANNEE = 0 Then ANNEE = Year(Date) LundiSem = 7 * SEMAINE + DateSerial(ANNEE, 1, 3) - _ Weekday(DateSerial(ANNEE, 1, 3)) - 5 End Function Sub CreationOnglet() For i = 1 To 52 Sheets.Add.Move After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "Semaine " & i afficher_semaine Next End Sub Private Sub CommandButton1_Click() CreationOnglet End Sub
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voilà une version sous forme de tableau avec date et horaire sur 52 feuilles:
Option Explicit Dim numero As Integer Dim i As Integer Sub afficher_semaine() 'numero = Format(Date, "ww", vbMonday, vbFirstFourDays)'recuperer numero de semaine Range("B1") = LundiSem(i, 2016) Range("B1").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy" Range("B1").AutoFill Destination:=Range("B1:H1"), Type:=xlFillDefault Range("B1:H1").HorizontalAlignment = xlLeft Range("A2").FormulaR1C1 = "0 heure" Range("A2").AutoFill Destination:=Range("A2:A26"), Type:=xlFillDefault ActiveSheet.Columns("A:H").AutoFit Range("A1:H26").Select ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$H$26"), , xlNo).Name = _ "Tableau1" Range("A1:H27").Select ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleMedium2" End Sub Function LundiSem(SEMAINE As Integer, Optional ANNEE As Integer) As Date If ANNEE = 0 Then ANNEE = Year(Date) LundiSem = 7 * SEMAINE + DateSerial(ANNEE, 1, 3) - _ Weekday(DateSerial(ANNEE, 1, 3)) - 5 End Function Sub CreationOnglet() For i = 1 To 52 Sheets.Add.Move After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "Semaine " & i afficher_semaine Next End Sub Private Sub CommandButton1_Click() CreationOnglet End Sub