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:

grisan29

XLDnaute Accro
Re : Aide création userform

bonjour lasmal

d'accord comme tu le veux, le bonjour a chaque réponse est d'actualité si plusieurs bénévoles te répondent
comme apparemment tu n'y arrive pas je t'envoie le classeur de si.... avec mes 2 bloc de codes et qui fonctionne très bien chez moi
 

Pièces jointes

  • Horaires(UsF).xlsm
    71.5 KB · Affichages: 44

Si...

XLDnaute Barbatruc
Re : Aide création userform

Salut

@Grisan : je ne sais pas si tu as trouvé comment attribuer la date ;). Je passe par le "Tag" du bouton (propriété mise à notre disposition avec l'objet).

@Lasmal : il suffit d’une ligne supplémentaire.

Tant que j’y suis, j’ai repris le fichier en ajoutant l’initialisation du formulaire à son ouverture et le message pour la limitation à 12 h. On pourrait pour chaque cas, si les intervalles étaient fixes, redéfinir la variation de la barre de l'heure.

Mais est-il vraiment utile de passer par un formulaire (se casser la tête avec des macros) ?
Quel que soit le contexte (que tu annonces bien conséquent) tu pourrais te contenter de l’onglet avec les 5 cellules en jaunes à traiter, en ajoutant même, une protection pour éviter que les formules des autres cellules ne soient corrompues !

J’ai fait cela rapidement donc à toi de tester plus à fond cette version.

nota : ici CDate renvoie des réponses avec les secondes :confused:. J'ai "caché" celles-ci en réduisant la longueur des contrôles mais on peut les garder si nécessaire.
 

Pièces jointes

  • Horaires(UsF) V2.xlsm
    70.3 KB · Affichages: 45

grisan29

XLDnaute Accro
Re : Aide création userform

bonjour si...
je ne connais pas bien le "tag", sur ton dernier fichier il manque le raz des textbox si on veux rentrer un nouvel horaire

Code:
Private Sub CommandButton2_Click()
Dim Ctrl As Control
For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = ""
    C0.Caption = ""
    c1.Caption = ""
    c2.Caption = ""
    C3.Caption = ""
Next
End Sub
ce code efface bien les contenu mais aoprès il y a un bug avec les spinbuttons a la ligne x= du code ci dessous avec une erreur 13 incompatibilité de type
Code:
Private Sub H1_Change()
  x = CDate(HD) + IIf(kH1 < H1, CDate(1 & ":00"), -CDate(1 & ":00"))
  HD = CStr(Format(x, "hh:mm")): kH1 = H1
End Sub
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Aide création userform

re
bonjour si...
je ne connais pas bien le "tag", sur ton dernier fichier il manque le raz des textbox si on veux rentrer un nouvel horaire

Je l'utilise de plus en plus souvent(voir l'image).
Tag.jpg
Quant à ce qu'il manque, il y a encore beaucoup de choses à faire ;) !
Merci pour tes "corrections" et @+
 

grisan29

XLDnaute Accro
Re : Aide création userform

bonjour si...
oui j'ai déja vu écrit tag dans les propriété mais sans savoir a quoi cela sert, et jamais rien vu écrit dedans, toujours dans le code

meme si je voulais le garder pour calculer mes horaires au mois mais sous forme de tableau pour écrire ligne après ligne pour un calcul a la semaine où au mois, le code que tu as mis dans le bouton mets difficile a modifier pour cela a cause du for 18 to 21
 
Dernière édition:

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Bonsoir à tous'

Je tiens à vous remercier "Si...", Grisan 29 et M12 pour votre aide dans la réalisation de ce userform.

J'ai testé ce que vous m'avez proposé, et j'en suis très satisfait.
Surtout, que j'aurais été incapable de le faire seul !
Il pourrait-être encore amélioré, par le rajout par exemple :
- d'un minimum de caractère à saisir dans le champs "Prénom";
- d'un bouton de validation après la saisie complète du prénom pour accéder au reste des champs
- d'un bouton RAZ pour tout remettre à zéro
- le contrôle des horaires (heure de retour déjeuner ne peut-être antérieure à l'heure du départ déjeuner, par exemple)
....etc

Mais dans l'état, cela me convient parfaitement
Encore merci Beaucoup !

Je termine la partie esthétique (ce que je pense maîtriser beaucoup mieux) et le publierai pour que vous voyez ce que çà donne
 
Dernière modification par un modérateur:

Si...

XLDnaute Barbatruc
Re : Aide création userform

salut

c'est "pas plus mal";), merci pour ce retour !

@Pascal : je te joins un fichier exemple pour attribuer l'horaire choisie au cas choisi (toujours avec "Tag").

Tant qu'à faire, j'ai intégré un Module de classe, utile quand le nombre de cas est important.
 

Pièces jointes

  • Horaires multiples.xlsm
    25.4 KB · Affichages: 39

grisan29

XLDnaute Accro
Re : Aide création userform

bonsoir si...:)

merci pour ce fichier qui est tres bien, mais je voudrais envoyer les horaires sur la feuille en forme de tableau
afin de compter le temps passer sur ce chantier c'est a dire comptabiliser en fin de chantier soit 3 jours, fin de semaines ou 1 mois c'est tellement variable
qu'a la semaine serai bien et de faire le total des colonnes en fin de semaine je te joint un aperçu désiré avec des faute d’orthographe:mad:
 

Pièces jointes

  • horairetravail.jpg
    horairetravail.jpg
    16.7 KB · Affichages: 37

grisan29

XLDnaute Accro
Re : Aide création userform

bonjour si....

et si j'utilise des combobox en guise de textbox qui sont plus approprier au chiffre que les textbox , y aurait il beaucoup de chose a modifier,
il faut modifier la propriété "showdropbuttonwhen" a 0= .....never et voila pour la flèche du combobox disparu pour donner l'apparence d'un textbox
 

Si...

XLDnaute Barbatruc
Re : Aide création userform

salut Pascal

Comme je te l’ai dit en MP, je n’ai pas le contexte.
A les mots « Tableau » , « Combobox » … je pars sur un nouveau fichier que je joins* ici car il peut intéresser d’autres lecteurs.
*Si je fais fausse route, ouvre une nouvelle discussion avec un fichier exemple, cela évitera en plus, de dénaturer la demande initiale ;).
 

Pièces jointes

  • HorairesDéplacements.xlsm
    17.1 KB · Affichages: 45

Lasmal

XLDnaute Nouveau
Re : Aide création userform

Bonjour Si...

Après quelques tests effectués hier, il manque finalement 2 choses pour que le userform soit nickel.
Mais je n'arrive pas à trouver les bons codes à positionner :

1 - Obliger la saisie d'un minimum de 2 caractères dans le champs Prénom

2 - Vérifier la saisie des différents horaires :
* heure d'Arrivée < heure de Départ déjeuner < heure de Retour déjeuner < heure de Sortie
Et si la saisie est incorrecte, afficher le message "Incohérence(s) dans la saisie des heures"

* (heure de Départ déjeuner) - (heure de Retour déjeuner) ≥ 30 minutes
Et si la saisie est incorrecte, afficher le message "La pause minimale est de 30mn"

Pourrais-tu m'aider Pleaz?
Ou si quelqu'un d'autre à la solution..

Merci beaucoup
:)
 

Pièces jointes

  • aide-creation-userform-horaires-usf-v2.xlsm
    70.3 KB · Affichages: 38
Dernière modification par un modérateur:

grisan29

XLDnaute Accro
Re : Aide création userform

Bonsoir Lasmal, si... et le forum

je n'ai pas fait ce que tu demandes, j'ai juste misun message derrière le bouton qui envoi sur feuille les données

j'ai trouvé ce message amusant alors je l'ai adapter a ton fichier
Code:
Sub CommandButton1_Click()
  [D10] = TN
  For n = 18 To 21
    Cells(n, 4) = CDate(Me("C" & n - 18))
  Next
  Dim mess$, h
    h = Array(TimeValue(C0.Caption), TimeValue(c1.Caption), TimeValue(c2.Caption) _
     - TimeValue(C3.Caption))
    mess = "Votre journée a débuté à " & Format(h(0), "hh:mm") & " pour se terminer à " _
     & Format(h(1), "hh:mm") & "." & Chr(10) & "La pause repas a duré " & Format(h(2), "h:mm") _
     & "."
    Select Case h(2)
        Case Is <= 1 / 96
            mess = mess & " N'est-ce pas un peu court ?"
        Case Is > 1 / 24
            mess = mess & " Vous prenez votre temps !"
        Case Else
            mess = mess & " Est-ce bien vrai ?"
    End Select
    mess = mess & Chr(10) & "La durée de la journée s'est établie à " & Format(DHtot, "h:mm") _
     & Chr(10)
    If DHtot > 0.5 Then
        mess = mess & "Belle durée, félicitations ! Mais elle dépasse la limite fatidique. " _
         & "Elle ne sera donc pas validée. Désolé !"
    ElseIf DHtot > 0.2 Then
        mess = mess & "Bonne journée, oui ! Peut-être pourra-t-elle être validée ! Gardez espoir !"
    Else
        mess = mess & "Vous êtes passé bien vite ! Croyez-vous qu'il vaille la peine de faire " _
         & "l'effort de la valider ?"
    End If
    mess = mess & Chr(10) & "N'oubliez pas la journée qui vous attend demain. Au revoir !"
    MsgBox mess, vbExclamation, "Au revoir !"
    Unload Me
  
End Sub

et tu rajoute la variable en dessous de option explicit

voila tu me dit ce que tu en penses, mais tu as un aperçu dans le code
 

Discussions similaires

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035