Création d'un Calendrier en VBA
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
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
Bonsoir,
Sub Macro1()
Dim Cyc As Range, i As Integer, n As Integer
With Workbooks("Profils.xlsx").Worksheets("Cycles1")
Set Cyc = .Range(.Cells(1, 1), .Cells(1, 1).End(xlDown))
End With
n = Cyc.Rows.Count
Application.DisplayAlerts = False
Application.ScreenUpdating = False
With ThisWorkbook
.Worksheets.Add before:=Worksheets(1)
For i = .Worksheets.Count To 2 Step -1
.Worksheets(i).Delete
Next i
For i = 1 To 365
With .Worksheets(i)
.Name = "Jour " & i
.Range("A1").Resize(n).Value = Cyc.Value
End With
.Worksheets.Add after:=.Worksheets(i)
Next i
.Worksheets(366).Delete
End With
End Sub
[Conseil : éviter l'enregistreur... ou tout réécrire en connaissance de cause !]
Ceci étant un classeur de 365 feuilles ne me paraît pas une vraiment bonne idée, mais tu verras à l'usage !
Cordialement.
Merci MFerrand pour ce programme,
Affectivement c'est mieux de faire 12 mois avec 12 feuilles, mais le besoin impose 365 feuilles
Bonjour,
c'est mieux de faire 12 mois avec 12 feuilles, mais le besoin impose 365 feuilles
Personnellement, je suis partisan d'une feuille par type d'affichage !
Affichage mensuel : une feuille suffit, on ne regarde qu'un mois à la fois...
Pareil pour les semaines ou les jours.
Assorti d'un stockage de données masqué et d'un système de navigation affichant n'importe quel mois sur demande.
Cordialement.