Création d'un Calendrier en VBA
Résolu
qwerty_213
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
qwerty_213 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
qwerty_213 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant en VBA, je souhaite créer un Excel "Calendrier.xlsx" de 365 feuilles, la première feuille s'appelle "Vendredi 1 Janvier 2016" et la dernière "Samedi 31 Décembre 2016", respectivement aux journées en 2016.
Ensuite, remplir chaque jour (ou feuille) avec des profils de 24h (86400 sec) d'un autre Excel "Profils.xlsx"
J'ai réalisé un programme initial qui nomme les feuilles "Jour 1"..."Jour 365" mais ça se remplis en inverse !!!, qlqn peut-il m'aider à compléter ou d'en créer un autre qui répond au besoin cité précédemment ?
Merci d'avance
Je suis débutant en VBA, je souhaite créer un Excel "Calendrier.xlsx" de 365 feuilles, la première feuille s'appelle "Vendredi 1 Janvier 2016" et la dernière "Samedi 31 Décembre 2016", respectivement aux journées en 2016.
Ensuite, remplir chaque jour (ou feuille) avec des profils de 24h (86400 sec) d'un autre Excel "Profils.xlsx"
J'ai réalisé un programme initial qui nomme les feuilles "Jour 1"..."Jour 365" mais ça se remplis en inverse !!!, qlqn peut-il m'aider à compléter ou d'en créer un autre qui répond au besoin cité précédemment ?
Merci d'avance
Sub Macro1() ' ' Macro1 Macro Dim Feuille As Worksheet Static I As Long For I = 1 To 365 Set Feuille = ThisWorkbook.Worksheets.Add ' La référence est posée Feuille.Name = "Jour " & I ' Le nom d'onglet de la nouvelle feuille est posé. Windows("Profils.xlsx").Activate Sheets("Cycles1").Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Windows("Calendrier.xlsx").Activate Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Next I End Sub
A voir également:
- Création d'un Calendrier en VBA
- Mon calendrier - Télécharger - Santé & Bien-être
- Creation compte gmail - Guide
- Création site web - Guide
- Création d'un compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
2 réponses
Bonjour,
comme ceci:
comme ceci:
Sub CreationOnglet() Dim i As Integer For i = 1 To 5' a adapter Sheets.Add , Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "Jour " & i Next End Sub
Bonjour cs_Le Pivert
le programme marche, je l'ai réadapté pour avoir des nom de jours en fonction des dates dans l'ardre chronologiques avec prise en comte des weekend
le programme marche, je l'ai réadapté pour avoir des nom de jours en fonction des dates dans l'ardre chronologiques avec prise en comte des weekend
Sub CreationOnglet()
Dim I As Date
For I = DateSerial(2016, 1, 1) To DateSerial(2016, 12, 31) ' a adapter
If Weekday(I, vbMonday) <= 5 Then
Workbooks("Profils.xlsx").Sheets("Jours_travail").Copy After:=Workbooks("Calendrier.xlsx").Worksheets(Workbooks("Calendrier.xlsx").Worksheets.Count)
Else
Workbooks("Profils.xlsx").Sheets("Jours_Weekend").Copy After:=Workbooks("Calendrier.xlsx").Worksheets(Workbooks("Calendrier.xlsx").Worksheets.Count)
End If
ActiveSheet.Name = Format(I, "dddd d mmmm yyyy")
Next I
End Sub