VBA HEURES

flyersgaoler -  
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
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. wilfried_42 Messages postés 912 Statut Contributeur 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
  2. flyersgoaler Messages postés 35 Statut Membre
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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