Aide création userform

Lasmal

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterais de l'aide pour la finalisation d'un userform à compléter par des utilisateurs.

J'ai bien avancé, mais je rencontre quelques difficultés :
* J'ai du mal à mettre en place tous les contrôles (saisie numérique, champs vides...)
* J'obtiens des messages d'erreurs concernant les end if sans if

- Tous les champs (TEXBOX) doivent-être obligatoirement remplis
- Le résultat du temps journalier doit s'afficher automatiquement en fonction de la saisie

Quelqu'un pourrait-il m'aider SVP ?
Merci
:)
 

Pièces jointes

  • classeur_Préparation.xlsm
    27.8 KB · Affichages: 75
Dernière modification par un modérateur:

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Grisan et M12,

Merci beaucoup de votre aide mais j'obtiens toujours des messages d'erreurs sur la ligne rouge

-----------------------------
Code:
Private Sub Btn_Annuler_Click()
Userform.Hide
End Sub
Private Sub Btn_Enregistre_Click()
    ' on vérifie que le prénom a été saisi
     If Len(Prenom.Text) = 0 Then
            MsgBox "La saisie du Prénom est obligatoire !", vbCritical
            Me.Prenom.SetFocus
            Exit Sub
            Else
            ' on vérifie que les heures ont été saisies
            If H_Arrivee = "" Then
                MsgBox "La saisie des horaires est obligatoire !", vbCritical
                'Me.H_Arrivee.SetFocus
                Exit Sub
                Else
                If H_Depart_Dejeuner = "" Then
                    MsgBox "La saisie des horaires est obligatoire !", vbCritical
                    'Me.H_Depart_Dejeuner.SetFocus
                    Exit Sub
                    Else
                     If H_Retour_Dejeuner = "" Then
                        MsgBox "La saisie des horaires est obligatoire !", vbCritical
                       'Me.H_Retour_Dejeuner.SetFocus
                        Exit Sub
                        Else
                        If H_Sortie = "" Then
                            MsgBox "La saisie des horaires est obligatoire !", vbCritical
                           ' Me.H_Sortie.SetFocus
                            Exit Sub
                            Else
                            If CDate(Total_Heure) > "12:00" Then
                                MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h00 !", vbCritical
                               ' Me.H_Arrivee.SetFocus
                                Exit Sub
                                Else
                                Sheets("Paramètres").Activate
                                minNum = Minute(currTime)
                                Cells(5, 4) = Prenom.Value
                                Cells(18, 4) = Hour(H_Arrivee.Value)
                                Cells(18, 5) = Minute(H_Arrivee.Value)
                                Cells(19, 4) = Hour(H_Depart_Dejeuner.Value)
                                Cells(19, 5) = Minute(H_Depart_Dejeuner.Value)
                                Cells(20, 4) = Hour(H_Retour_Dejeuner.Value)
                                Cells(20, 5) = Minute(H_Retour_Dejeuner.Value)
                                Cells(21, 4) = Hour(H_Sortie.Value)
                                Cells(21, 5) = Minute(H_Sortie.Value)
                                Cells(11, 4) = Hour(Total_Heure.Value)
                                Cells(11, 5) = Minute(Total_Heure.Value)
                            End If
                        End If
                    End If
                End If
            End If
        End If
    [COLOR="#FF0000"]Userform1.Hide[/COLOR]
End Sub

Private Sub CommandButton1_Click()
  Total_Heure.Value = Format((CDate(H_Depart_Dejeuner.Value) - CDate(H_Arrivee.Value)) + (CDate(H_Sortie.Value) - CDate(H_Retour_Dejeuner.Value)), "hh:mm")
  If CDate(Total_Heure) > "12:00" Then
             MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h !Veuillez recommencer!", vbCritical
             Me.H_Arrivee.SetFocus
             Me.H_Depart_Dejeuner.Value = ""
             Me.H_Retour_Dejeuner.Value = ""
             Me.H_Sortie.Value = ""
             Me.H_Arrivee.Value = ""
             Me.Total_Heure.Value = ""
             Exit Sub
             
         
         End If
 End Sub

Private Sub Total_Heure_change()

        If CDate(Total_Heure) > "12:00" Then
            MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h !", vbCritical
            Me.H_Arrivee.SetFocus
            Exit Sub
        End If
End Sub
Private Sub prenom_Change()
    Prenom.Value = UCase(Prenom.Value)
End Sub
Private Sub H_Arrivee_Afterupdate()
Dim tString As String
With H_Arrivee
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Arrivee.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Sortie_Afterupdate()
Dim tString As String
With H_Sortie
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Sortie.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Depart_Dejeuner_Afterupdate()
Dim tString As String
With H_Depart_Dejeuner
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Depart_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Retour_Dejeuner_Afterupdate()
Dim tString As String
With H_Retour_Dejeuner
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Retour_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub

Private Sub UserForm_Initialize()
  With Sheets("Paramètres")
     Me.Prenom.Value = .Range("D5")
     Me.H_Arrivee.Value = .Range("G18")
     Me.H_Depart_Dejeuner.Value = .Range("G19")
     Me.H_Retour_Dejeuner.Value = .Range("G20")
     Me.H_Sortie.Value = .Range("G21")
     Me.Total_Heure.Value = .Range("G11")
  End With
 End Sub

Private Sub UserForm_Click()

End Sub
 
Dernière modification par un modérateur:

grisan29

XLDnaute Accro
Re : Aide création userform

bonsoir lasmal
mets ton code entre balise et ce sera plus clair a regarder
commence par remettre bien tes noms de textbox après on verra , d'ailleurs pourquoi les as tu doublé a vec hour et minute comme ici
Code:
Cells(18, 4) = Hour(H_Arrivee.Value)
Cells(18, 5) = Minute(H_Arrivee.Value)
Cells(19, 4) = Hour(H_Depart_Dejeuner.Value)
Cells(19, 5) = Minute(H_Depart_Dejeuner.Value)
Cells(20, 4) = Hour(H_Retour_Dejeuner.Value)
Cells(20, 5) = Minute(H_Retour_Dejeuner.Value)
Cells(21, 4) = Hour(H_Sortie.Value)
Cells(21, 5) = Minute(H_Sortie.Value)
Cells(11, 4) = Hour(Total_Heure.Value)
Cells(11, 5) = Minute(Total_Heure.Value)

réponds d'abord a ma question
 
Dernière édition:

M12

XLDnaute Accro
Re : Aide création userform

Bonsoir GRISAN 29, Lasmal

la réponse est suite au post #4
Seulement, je tiens impérativement à conserver la séparation des Heures (HH) et des minutes (MN)
--> Ces données utilisées telles quelles, sont importantes car elles sont reprises dans un fichier plus complet. D'où l'intérêt de l'utilisation des centièmes d'heures
 

grisan29

XLDnaute Accro
Re : Aide création userform

bonsoir lasmal, M12 et le forum
commence par un bonjour où bonsoir et précise a qui tu écrits
je t'envoie le fichier que j'ai modifier mais je ne m'occuperais pas des centièmes d'heures ou de la division heures minutes
il fallait le bien préciser avant car j'ai pris le post en chemin et pas vu ta réponse n°4
 

Pièces jointes

  • Copie de classeur_Préparation2-1.xlsm
    28.7 KB · Affichages: 35

Lasmal

XLDnaute Nouveau
Re : Aide création userform

PHP:
Private Sub Btn_Annuler_Click()
UserForm.Hide
End Sub
Private Sub Btn_Enregistre_Click()
    ' on vérifie que le prénom a été saisi
     If Len(Prenom.Text) = 0 Then
            MsgBox "La saisie du Prénom est obligatoire !", vbCritical
            Me.Prenom.SetFocus
            Exit Sub
            Else
            ' on vérifie que les heures ont été saisies
            If H_Arrivee = "" Then
                MsgBox "La saisie des horaires est obligatoire !", vbCritical
                'Me.H_Arrivee.SetFocus
                Exit Sub
                Else
                If H_Depart_Dejeuner = "" Then
                    MsgBox "La saisie des horaires est obligatoire !", vbCritical
                    'Me.H_Depart_Dejeuner.SetFocus
                    Exit Sub
                    Else
                     If H_Retour_Dejeuner = "" Then
                        MsgBox "La saisie des horaires est obligatoire !", vbCritical
                       'Me.H_Retour_Dejeuner.SetFocus
                        Exit Sub
                        Else
                        If H_Sortie = "" Then
                            MsgBox "La saisie des horaires est obligatoire !", vbCritical
                           ' Me.H_Sortie.SetFocus
                            Exit Sub
                            Else
                            If CDate(Total_Heure) > "12:00" Then
                                MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h00 !", vbCritical
                               ' Me.H_Arrivee.SetFocus
                                Exit Sub
                                Else
                                Sheets("Paramètres").Activate
                                minNum = Minute(currTime)
                                Cells(5, 4) = Prenom.Value
                                Cells(18, 4) = Hour(H_Arrivee.Value)
                                Cells(18, 5) = Minute(H_Arrivee.Value)
                                Cells(19, 4) = Hour(H_Depart_Dejeuner.Value)
                                Cells(19, 5) = Minute(H_Depart_Dejeuner.Value)
                                Cells(20, 4) = Hour(H_Retour_Dejeuner.Value)
                                Cells(20, 5) = Minute(H_Retour_Dejeuner.Value)
                                Cells(21, 4) = Hour(H_Sortie.Value)
                                Cells(21, 5) = Minute(H_Sortie.Value)
                                Cells(11, 4) = Hour(Total_Heure.Value)
                                Cells(11, 5) = Minute(Total_Heure.Value)
                            End If
                        End If
                    End If
                End If
            End If
        End If
    UserForm1.Hide
End Sub

Private Sub CommandButton1_Click()
  Total_Heure.Value = Format((CDate(H_Depart_Dejeuner.Value) - CDate(H_Arrivee.Value)) + (CDate(H_Sortie.Value) - CDate(H_Retour_Dejeuner.Value)), "hh:mm")
  If CDate(Total_Heure) > "12:00" Then
             MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h !Veuillez recommencer!", vbCritical
             Me.H_Arrivee.SetFocus
             Me.H_Depart_Dejeuner.Value = ""
             Me.H_Retour_Dejeuner.Value = ""
             Me.H_Sortie.Value = ""
             Me.H_Arrivee.Value = ""
             Me.Total_Heure.Value = ""
             Exit Sub
             
         
         End If
 End Sub

Private Sub Total_Heure_change()

        If CDate(Total_Heure) > "12:00" Then
            MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h !", vbCritical
            Me.H_Arrivee.SetFocus
            Exit Sub
        End If
End Sub
Private Sub prenom_Change()
    Prenom.Value = UCase(Prenom.Value)
End Sub
Private Sub H_Arrivee_Afterupdate()
Dim tString As String
With H_Arrivee
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Arrivee.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Sortie_Afterupdate()
Dim tString As String
With H_Sortie
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Sortie.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Depart_Dejeuner_Afterupdate()
Dim tString As String
With H_Depart_Dejeuner
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Depart_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub
Private Sub H_Retour_Dejeuner_Afterupdate()
Dim tString As String
With H_Retour_Dejeuner
    'Vérifie si l'utilisateur met dans des deux-points ou non
   If InStr(1, .Value, ":", vbTextCompare) = 0 Then
        'Sinon, faites la série de 4 chiffres et insérez des deux-points
       tString = Format(.Value, "0000")
       'autrement le code insère les ":"entre les 2 chiffres
        tString = Left(tString, 2) & ":" & Right(tString, 2)
       
        H_Retour_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
    Else
        'Autrement, prenez la valeur comme donné
       .Value = Format(.Value, "hh:mm")
    End If
End With
End Sub

Private Sub UserForm_Initialize()
  With Sheets("Paramètres")
     Me.Prenom.Value = .Range("D5")
     Me.H_Arrivee.Value = .Range("G18")
     Me.H_Depart_Dejeuner.Value = .Range("G19")
     Me.H_Retour_Dejeuner.Value = .Range("G20")
     Me.H_Sortie.Value = .Range("G21")
     Me.Total_Heure.Value = .Range("G11")
  End With
 End Sub

Private Sub UserForm_Click()

End Sub
 

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Bonsoir et Merci Grisan,

Nous avons échangé plusieurs messages depuis hier et aujourd'hui - Désolé, je n'ai pas fait gaffe à dire bonsoir à chaque message envoyé :(

J'apprécie beaucoup ton aide et celle de M12, mais j'avoue être un peu perdu dans vos solutions.

Effectivement l'utilisation des centièmes d'heures est importante et s'intègre dans l'utilisation d'un autre fichier global.
Les conversions sont déjà faites :)

Je regarde tout de suite ta dernière proposition
:) :)
 

grisan29

XLDnaute Accro
Re : Aide création userform

Bonsoir Lasmal

ce n'est pas mieux que les balises codes car il y a trop de lignes rouges qui flashe
si tu te lance en php le lien sous ma signature est encore plus évolué, et ce forum est un ami qui la construit
 

Lone-wolf

XLDnaute Barbatruc
Re : Aide création userform

Bonsoir Lasmal, Pascal :)

@ Lasmal: Dans le message clique sur "Aller en mode avancé", tu verra une icône en forme de #; clique sur celui-ci, ensuite tu écrit en les crochets du premier CODE "CODE=VBA", insère la macro, puis /CODE. J'éspère que c'est clair.
 

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Bonsoir à tous'

J'ai revu le code ci-dessous grâce à l'aide de Grisan 29 et de M12.

Mais je rencontre 2 soucis :

1- Je n'arrive pas à forcer la saisie numérique
2 - Si saisie d'un format autre que numérique dans l'un des champs, toutes les données du formulaire repassent en centième d'heures et message d'erreur sur la ligne écrite en rouge.

Je joins également le fichier en question.

Quelqu'un peut-il m'aider, Pleaz?

Merci, d'avance

----------------------
Private Sub Btn_Annuler_Click()
UserForm1.Hide
End Sub
Private Sub Btn_Enregistre_Click()
' on vérifie que le prénom a été saisi
If Len(Prenom.Text) = 0 Then
MsgBox "La saisie du Prénom est obligatoire !", vbCritical
Me.Prenom.SetFocus
Exit Sub
Else
' on vérifie que les heures ont été saisies
If H_Arrivee = "" Then
MsgBox "La saisie des horaires est obligatoire !", vbCritical
Me.H_Arrivee.SetFocus
Exit Sub
Else
If H_Depart_Dejeuner = "" Then
MsgBox "La saisie des horaires est obligatoire !", vbCritical
Me.H_Depart_Dejeuner.SetFocus
Exit Sub
Else
If H_Retour_Dejeuner = "" Then
MsgBox "La saisie des horaires est obligatoire !", vbCritical
Me.H_Retour_Dejeuner.SetFocus
Exit Sub
Else
If H_Sortie = "" Then
MsgBox "La saisie des horaires est obligatoire !", vbCritical
Me.H_Sortie.SetFocus
Exit Sub



Else
Sheets("Paramètres").Activate
minNum = Minute(currTime)
Cells(5, 4) = Prenom.Value
Cells(18, 4) = Hour(H_Arrivee.Value)
Cells(18, 5) = Minute(H_Arrivee.Value)
Cells(19, 4) = Hour(H_Depart_Dejeuner.Value)
Cells(19, 5) = Minute(H_Depart_Dejeuner.Value)
Cells(20, 4) = Hour(H_Retour_Dejeuner.Value)
Cells(20, 5) = Minute(H_Retour_Dejeuner.Value)
Cells(21, 4) = Hour(H_Sortie.Value)
Cells(21, 5) = Minute(H_Sortie.Value)
Cells(11, 4) = Hour(Total_Heure.Value)
Cells(11, 5) = Minute(Total_Heure.Value)
End If
End If
End If
End If
End If





UserForm1.Hide
End Sub

Private Sub CommandButton1_Click()
Total_Heure.Value = Format((CDate(H_Depart_Dejeuner.Value) - CDate(H_Arrivee.Value)) + (CDate(H_Sortie.Value) - CDate(H_Retour_Dejeuner.Value)), "hh:mm")
If CDate(Total_Heure) > "12:00" Then
MsgBox "le nombre d'heures par jour doit être inférieur ou égal à 12h !Veuillez recommencer!", vbCritical
Me.H_Arrivee.SetFocus
Me.H_Depart_Dejeuner.Value = ""
Me.H_Retour_Dejeuner.Value = ""
Me.H_Sortie.Value = ""
Me.H_Arrivee.Value = ""
Me.Total_Heure.Value = ""
Exit Sub


End If
End Sub


Private Sub prenom_Change()
Prenom.Value = UCase(Prenom.Value)
End Sub
Private Sub H_Arrivee_Afterupdate()
Dim tString As String
With H_Arrivee
'Vérifie si l'utilisateur met dans des deux-points ou non
If InStr(1, .Value, ":", vbTextCompare) = 0 Then
'Sinon, faites la série de 4 chiffres et insérez des deux-points
tString = Format(.Value, "0000")
'autrement le code insère les ":"entre les 2 chiffres
tString = Left(tString, 2) & ":" & Right(tString, 2)

H_Arrivee.Value = Format(TimeValue(tString), "HH:MM")
Else
'Autrement, prenez la valeur comme donné
.Value = Format(.Value, "hh:mm")
End If
End With
End Sub
Private Sub H_Sortie_Afterupdate()
Dim tString As String
With H_Sortie
'Vérifie si l'utilisateur met dans des deux-points ou non
If InStr(1, .Value, ":", vbTextCompare) = 0 Then
'Sinon, faites la série de 4 chiffres et insérez des deux-points
tString = Format(.Value, "0000")
'autrement le code insère les ":"entre les 2 chiffres
tString = Left(tString, 2) & ":" & Right(tString, 2)

H_Sortie.Value = Format(TimeValue(tString), "HH:MM")
Else
'Autrement, prenez la valeur comme donné
.Value = Format(.Value, "hh:mm")
End If
End With
End Sub
Private Sub H_Depart_Dejeuner_Afterupdate()
Dim tString As String
With H_Depart_Dejeuner
'Vérifie si l'utilisateur met dans des deux-points ou non
If InStr(1, .Value, ":", vbTextCompare) = 0 Then
'Sinon, faites la série de 4 chiffres et insérez des deux-points
tString = Format(.Value, "0000")
'autrement le code insère les ":"entre les 2 chiffres
tString = Left(tString, 2) & ":" & Right(tString, 2)

H_Depart_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
Else
'Autrement, prenez la valeur comme donné
.Value = Format(.Value, "hh:mm")
End If
End With
End Sub
Private Sub H_Retour_Dejeuner_Afterupdate()
Dim tString As String
With H_Retour_Dejeuner
'Vérifie si l'utilisateur met dans des deux-points ou non
If InStr(1, .Value, ":", vbTextCompare) = 0 Then
'Sinon, faites la série de 4 chiffres et insérez des deux-points
tString = Format(.Value, "0000")
'autrement le code insère les ":"entre les 2 chiffres
tString = Left(tString, 2) & ":" & Right(tString, 2)

H_Retour_Dejeuner.Value = Format(TimeValue(tString), "HH:MM")
Else
'Autrement, prenez la valeur comme donné
.Value = Format(.Value, "hh:mm")
End If
End With
End Sub



Private Sub UserForm_Initialize()
With Sheets("Paramètres")
Me.Prenom.Value = .Range("D5")
Me.H_Arrivee.Value = .Range("G18")
Me.H_Depart_Dejeuner.Value = .Range("G19")
Me.H_Retour_Dejeuner.Value = .Range("G20")
Me.H_Sortie.Value = .Range("G21")
Me.Total_Heure.Value = .Range("G11")
End With
End Sub
 

Pièces jointes

  • _preparation - 19H.xlsm
    31.4 KB · Affichages: 37

grisan29

XLDnaute Accro
Re : Aide création userform

bonsoir lasmal
il faudrait un bouton ou une commande pour remettre a zéro les textbox car a chaque ouverture ils se remplissent et on ne peux plus faire grand chose

je l'ai fait pour essai
ton classeur est réellement dans quel but , compter les heures que tu fais au boulot ?
autrement une idée a moi
au lieu de mettre les données en plein milieu de la feuille, je ferai un tableau pour écrire l'une après l'autre les données et faire un comparatif a la semaine où au mois

le bug que tu as signale je ne l'ai pas eu sur le dernier fichier preparation

dans les textbox heure il y aurai une protection a mettre contre les écritures comme je l'ai fait écrire 80 au lieu de 08 et la bug assuré car 80 heures dans une journée pas encore entendu en parler
 
Dernière édition:

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Grisan 29
:)

Je souhaite garder l'affichage des heures dans le formulaire, ce qui permet à l'utilisateur de vérifier sa saisie et éventuellement de la modifier.
Il s'agit d'un classeur de suivi de temps journalier, hebdomadaire, mensuel avec la possibilité de faire des simulations pour les horaires souples.
L'idée du rajout d'un bouton permettant de remettre à zéro le formulaire est bonne :

Code:
Private Sub CommandButton1_Click()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = ""
Next
End Sub

Je préfèrerais déjà finaliser ce que tu m'as aidé à commencer (forcer la saisie numérique et surtout obtenir un formulaire sans aucune erreur qui s'affiche -> donc fonctionnel)

Mes questions portent sur le dernier fichier-joint nommé "_preparation - 19H"
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 232
Messages
2 086 461
Membres
103 219
dernier inscrit
Akyrah