VBA HEURES

flyersgaoler -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
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

3 réponses

wilfried_42 Messages postés 907 Date d'inscription   Statut Contributeur Dernière intervention   245
 
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
0
flyersgoaler Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
En modifiant un peu le code de Wilfried
Sub 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+
0