VBA HEURES
flyersgaoler
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
J'ai déja codé en VBA excel un code pour faire apparaitre 12 feuilles dont les mois sont représentés. J'ai en plus réussi à mettre un code qui met le nom de chaque feuille dans une case. Cependant, je ne sais pas comment mettre les heures. En effet, sur chaque feuille, je dois mettre 4 tranches d'heure soit de 0:00 à 5h59, de 6h a 11h59, de 12 a 17h59 et 18h a 23h59. Je dois donc mettre ces 4 tranches dheures sur chacune de mes feuilles, mais je n'y arrive pas. Voici le code que j'ai fait. Merci a l'avance pour votre aide
Sub CreerAnnee_clic()
For I = 1 To 12
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(30 * I, "mmmm")
Next I
Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[D1] = ActiveSheet.Name
Next
End Sub
J'ai déja codé en VBA excel un code pour faire apparaitre 12 feuilles dont les mois sont représentés. J'ai en plus réussi à mettre un code qui met le nom de chaque feuille dans une case. Cependant, je ne sais pas comment mettre les heures. En effet, sur chaque feuille, je dois mettre 4 tranches d'heure soit de 0:00 à 5h59, de 6h a 11h59, de 12 a 17h59 et 18h a 23h59. Je dois donc mettre ces 4 tranches dheures sur chacune de mes feuilles, mais je n'y arrive pas. Voici le code que j'ai fait. Merci a l'avance pour votre aide
Sub CreerAnnee_clic()
For I = 1 To 12
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(30 * I, "mmmm")
Next I
Application.ScreenUpdating = False
For Each x In ActiveWorkbook.Sheets
x.Activate
[D1] = ActiveSheet.Name
Next
End Sub
Configuration: Windows Vista Internet Explorer 7.0
3 réponses
-
bonjour
tu as de la chance que bilou est le seul au monde à considérer que l'année 1900 soit une année bissextile.... sinon tu n'aurais jamais eu ton mois de février : 31 + 28 = 59 : 30 * 2 = 60, soit le 1er mars
modifie cette ligne pour si des fois bilou décidait de ne pas avoir une erreur dans excel
ActiveSheet.Name = Format(30 * I, "mmmm")
par :
ActiveSheet.Name = Format(datevalue("01/" & I & "/2000"), "mmmm")
pour ta boucle :
for i = 0 to 3
cells(1,1).offset(i,0) = (i*6)/24
cells(1,2).offset(i,0) = cells(1,1).offset(i,0) + timevalue("05:59")
next i
A1,A2,A3,A4 recoivent tes 4 heures de debut
B1,B2,B3,B4 tes 4 heures de fin
à mettre au format horaire -
Merci Wilfred,
Mais je voudrais savoir comment je peux mettre les heures sur mes 12 feuilles, car pour l'instant les heures apparaissent seulement pour le mois de décembre.
Merci encore -
Bonjour,
En modifiant un peu le code de WilfriedSub CreerAnnee_clic() Dim i As Integer, e As Integer, D As Single For i = 1 To 12 ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count) ActiveSheet.Name = Format(DateValue("01/" & i & "/2000"), "mmmm") For e = 0 To 3 D = (e * 6) / 24 Cells(1, e + 1) = Format(D, "hh:mm") & " à " & _ Format(D + TimeValue("05:59"), "hh:mm") Next e Range("D2") = ActiveSheet.Name Next i End Sub
A+