Actualisation textbox heures

max.lander

XLDnaute Occasionnel
Bonjour à tous,

Avec ce poste, je souhaite obtenir votre aide sur la meilleurs manières de gérer un formulaire afin d’éviter les erreurs de saisie sur des heures.

En effet, mon formulaire permet de gérer la saisie de plages horaires par journée plage du matin et plage de l'après-midi.

Si vous avez des idées pour les points suivants, je suis preneur :

- Forcer utilisateur à ne saisir que des heures et rien d'autre
- Faire un contrôle de cohérence entre l'heure de départ et l'heure de fin (fin ne peut pas être supérieure à debut, ni égal à 0) afin un nombre d'heure par journée juste.

- Et pour finir, est il possible de réaliser une boucle pour rendre les "textbox" inactives quand RTT ou repos est sélectionner pareil pour matin et après-midi ? l'idée est de ne pas avoir à répéter le code pour chaque journée.




J'espère que j'ai été clair des mes demandes

Merci pour votre aide.
 

Pièces jointes

  • XDL.xlsm
    28 KB · Affichages: 38

JM27

XLDnaute Barbatruc
Re : Actualisation textbox heures

bonjour
Pourquoi pas utiliser des combo box avec des tranches horaire à définir ( 1/4 heure , 1/2 heure 3/4 heure , 1 heure)
que tu pourrais définir selon la précision que tu recherches?
cela t'éviterais bon nombre d'erreurs.
A toi de voir !
Veux tu une saisie journalière ou à la semaine complète ?
 

max.lander

XLDnaute Occasionnel
Re : Actualisation textbox heures

Bonsoir à tous,

Merci JM27 pour ton intervention, je souhaite planifier à la journée, tous les saisies vont alimenter un BDD.

J'ai pensé aux combobox pré-paramétrés mais ça risque de ralentir la saisie (très volumineuse) de l'utilisateur.
 
Dernière édition:

max.lander

XLDnaute Occasionnel
Bonjour à tous,

J'ai un peu travaillé sur la première problématique à savoir l'accessibilité des "Textbox" en fonction de la sélection du comboBox journée comme dans le fichier joint et avec le code ci-après.

Cette méthode fonctionne, mais c'est très "sale" et fastidieux d'un point de vue algorithmie.

Surtout que je vais devoir la répéter 7 fois pour chaque jour de la semaine !!!


J'utilise deux "Select case différent" un dans une boucle l'autre de la boucle (pour les notion d'après-midi, matinée, soirée..)

L'objectif étant de griser les plages en fonction des moment de la journée sélectionnées. Cette opération doit être répliquée pour les 7 jours de la semaine.

Si vous avez plus simple, je signe tout de suite.



Code:
Sub Acti_Desactve_Zone_Horaires()
    Dim i As Integer

   For i = 1 To 4
   
CboX = Planner.ComboBox1.Value
Select Case CboX

           
        Case Is = "RTT"
           
     
               
                With Planner.Controls("TextBox_H" & (i))
                    .Value = ""
                    .Enabled = False
                    .BackColor = &H80000006
                End With
               
     
               
               
        Case Is = "Repos"
               
         
                   
                    With Planner.Controls("TextBox_H" & (i))
                        .Value = ""
                        .Enabled = False
                        .BackColor = &H80000006
                    End With
                   
               
                   
                         
                  Case Is = "Journée"
               
         
                   
                    With Planner.Controls("TextBox_H" & (i))
                        .Enabled = True
                        .BackColor = &H80000005
                    End With
                   
               
               
                   Case Is = "Journée"
               
                     
                   
                   
                End Select
               
           
                 
                  Next i
               
               
' deuxième Select case hors boucle



Select Case CboX
               
       
                Case Is = "Soirée"
       
      With Planner.TextBox_H1
     .Value = ""
      .Enabled = False
       .BackColor = &H80000006
     

        With Planner.TextBox_H2
        .Value = ""
       .Enabled = False
       .BackColor = &H80000006
       
   

        With Planner.TextBox_H3
       
        .Enabled = True
       .BackColor = &H80000005
       
          With Planner.TextBox_H4
        .Enabled = True
       .BackColor = &H80000005
     
   
       End With
              End With
                   End With
                            End With
         
           
                   Case Is = "Après-Midi"
       
      With Planner.TextBox_H1
        .Value = ""
         .Enabled = False
             .BackColor = &H80000006
     

        With Planner.TextBox_H2
        .Value = ""
       .Enabled = False
       .BackColor = &H80000006
   

        With Planner.TextBox_H3
       
        .Enabled = True
       .BackColor = &H80000005
       
          With Planner.TextBox_H4
        .Enabled = True
       .BackColor = &H80000005
     
   
       End With
              End With
                   End With
                            End With
         
               
               
               
                      Case Is = "Matin"
       
      With Planner.TextBox_H1
         .Enabled = True
             .BackColor = &H80000005
     

        With Planner.TextBox_H2
     
       .Enabled = True
       .BackColor = &H80000005
       
   

        With Planner.TextBox_H3
          .Value = ""
        .Enabled = False
       .BackColor = &H80000006
       
          With Planner.TextBox_H4
            .Value = ""
        .Enabled = False
       .BackColor = &H80000006
     
   
       End With
              End With
                   End With
                            End With
               
               
             End Select
               
            End Sub
 

Pièces jointes

  • XDL.xlsm
    27.5 KB · Affichages: 0

Discussions similaires

Réponses
3
Affichages
256
Réponses
5
Affichages
686