Incrémenter une série automatique des feuilles de mon classeur

Fermé
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016 - 6 janv. 2016 à 19:17
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016 - 10 janv. 2016 à 18:32
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!
A voir également:

5 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 7/01/2016 à 09:11
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
0
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016
8 janv. 2016 à 05:44
Bonjour, merci pour ta réponse, je regarde dans la journée si cela convient.

Merci
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
7 janv. 2016 à 09:27
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
0
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016
8 janv. 2016 à 05:45
Bonjour, effectivement, c'est ce que je voudrais faire!!

Je vais uploader le fichier exemple pour que ce soit plus clair!
Merci pour ces réponses!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 7/01/2016 à 09:37
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
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
7 janv. 2016 à 09:39
SI, j'ai compris. Je n'ai pas voulu t'offenser...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023
7 janv. 2016 à 09:40
C'est raté
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 janv. 2016 à 10:03
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


0
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016
8 janv. 2016 à 05:47
Bonjour!

Je vais essayer ça aussi, je je reviens vers vous!

Merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
8 janv. 2016 à 11:59
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



0
pyro13 Messages postés 5 Date d'inscription mercredi 6 janvier 2016 Statut Membre Dernière intervention 10 janvier 2016
10 janv. 2016 à 18:32
Merci pour vos réponses. Je n'ai jamais utilisé VBA. Il faut que j'apprenne à m'en servir.
0