Transfert formulaire de saisie horaire en heures

Bonjour a tous,

étant débutant je me permets d'en appeler a votre aide concernant un formulaire de saisie de données

dans un formulaire j'ai besoin de saisir des heures

Par exemple des arrêts (exemple ci dessous de deux arrêts, un de 4h00 a 4h10 et l'autre de 4h15 a 4h20)

ils doivent êtres saisis dans une liste et ensuite en cliquant sur un bouton valider, je dois transférer ces horaires en valeur 1 (pour une mise en forme conditionnelle dans des cellules correspondant déjà a des créneaux horaires).

je dois donc recuper dans la feuille excel une coloration bleue dans les cellulles de 4h00 a 4h10 , de 4h10 a 4h15 elle est blanche et ensuite de 4h15 a 4h20 elle est de nouveau bleue

4:00 4:10

4:15 4:20

si quelqu'un peut m'aider ce serait super.

merci par avance

bonne journée a vous

8saisie-rapide.xlsm (19.29 Ko)

Bonjour,

Ton système d'heures n'est vraiment pas en adéquation avec le système qu'utilise Excel mais bon, comme je n'en connais pas la finalité, je te propose d'utiliser plutôt deux ComboBox, un pour l'heure de début et l'autre pour l'heure de fin dont voici le code et ton classeur en retour, reviens si ce n'est pas ce que tu veux :

Private Sub UserForm_Initialize()

    Dim I As Integer

    For I = 0 To 55 Step 5

        ComboBox1.AddItem "4h" & Format(I, "00")
        ComboBox2.AddItem "4h" & Format(I, "00")

    Next I

    ComboBox1.AddItem "5h00"
    ComboBox2.AddItem "5h00"

End Sub

Private Sub CommandButton2_Click()

    Dim Plage As Range
    Dim Cel As Range
    Dim Cel1 As Range
    Dim Cel2 As Range

    Set Plage = Range("A6:A18")

    If ComboBox1.Text = "" And ComboBox2.Text = "" Then Exit Sub

    Set Cel1 = Plage.Find(ComboBox1.Text, , xlValues, xlWhole)
    If Not Cel1 Is Nothing Then Cel1.Offset(, 1).Value = 1

    Set Cel2 = Plage.Find(ComboBox2.Text, , xlValues, xlWhole)

    If Not Cel2 Is Nothing Then

        For Each Cel In Range(Cel1, Cel2): Cel.Offset(, 1).Value = 1: Next Cel

    End If

End Sub

Private Sub CommandButton1_Click()

    Unload Me

End Sub
5saisie-rapide.xlsm (18.71 Ko)

bonjour,

merci pour ta reponse,

dans un premier temps ce n'etais pas trop ce que je cherchais mais au final ton idée s'est revelée etre plus pertinente que mon idée du coup tu as resolu mon probleme mieux que ce que j'aurais pu faire.

je te remercie, mon probleme est resolu.

reste a tout adapter

bonne journée

j'aurais encore besoin d'aide si possible.

maintenant je souhaite faire cela mais en agrandissant la zone horaire , mais apparement je ne m'y prends pas bien !

Option Explicit

Private Sub UserForm_Initialize()

    Dim I As Integer
    Dim J As Integer

    For I = 0 To 55 Step 5
    For J = 0 To 55 Step 5

        ComboBox1.AddItem "4h" & Format(I, "00")
        ComboBox1.AddItem "5h" & Format(J, "00")

        ComboBox2.AddItem "4h" & Format(I, "00")

    Next I

    ComboBox1.AddItem "5h00"
    ComboBox1.AddItem "6h00"
    ComboBox1.AddItem "7h00"

    ComboBox2.AddItem "5h00"
    ComboBox2.AddItem "6h00"
    ComboBox2.AddItem "7h00"

End Sub

Private Sub CommandButton2_Click()

    Dim Plage As Range
    Dim Cel As Range
    Dim Cel1 As Range
    Dim Cel2 As Range

    Set Plage = Range("A6:A41")

    If ComboBox1.Text = "" And ComboBox2.Text = "" Then Exit Sub

    Set Cel1 = Plage.Find(ComboBox1.Text, , xlValues, xlWhole)
    If Not Cel1 Is Nothing Then Cel1.Offset(, 1).Value = 1

    Set Cel2 = Plage.Find(ComboBox2.Text, , xlValues, xlWhole)

    If Not Cel2 Is Nothing Then

        For Each Cel In Range(Cel1, Cel2): Cel.Offset(, 1).Value = 1: Next Cel

    End If

End Sub

Private Sub CommandButton1_Click()

    Unload Me

End Sub
Rechercher des sujets similaires à "transfert formulaire saisie horaire heures"