Création d'un Calendrier en VBA
Résolu
qwerty_213
Messages postés
32
Statut
Membre
-
qwerty_213 Messages postés 32 Statut Membre -
qwerty_213 Messages postés 32 Statut Membre -
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
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création d'un compte google - Guide
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