améliorer un userform et y ajouter une requete[Résolu]

  • Initiateur de la discussion Initiateur de la discussion kly2spy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kly2spy

Guest
Bonjour à tous,
Tout nouveau dans l'univers Excel, j'ai commencé une ébauche du résultat que je souhaite obtenir, mais je sature sur la suite que j’espère pouvoir vous exprimer.....🙁
j'ai créee un useform qui alimente une feuille(Donnees) de mon classeur. A l'ouverture, un bouton de commande fait appel à l'userform sur laquelle commence la saisie d'informations.

2 sollicitations :
- Je n'ai pas réussi (dans la colonne PROLONGATION) à faire apparaitre un "OUI" ou "NON" à la place de Vrai ou Faux, dans mon code vb. Help....😕
- Ce travail a pour objectif de déterminer si et quel matricule se trouve en arrêt simple ou s'il s'agit d'une prolongation suite à un arrêt initial.
en fait, y aurait il une possibilité de regrouper les dates d’arrêts initiales et finales pour les matricules en prolongations d’arrêts, sur une autre feuille.

Ex : le matricule 213569 est en arrêt du 01 au 05 mars, mais prolonge celui-ci le 06 pour le 09 mars.
comment fusionner ces deux lignes différentes sur une seule qui reprendra l’arrêt initial (01 mars) à l’arrêt final (09 mars) ?

Je pense qu'il faudrait une requête pour la 2eme possibilité mais la, j'ai la tête qui explose (même après du recul...)😡
Merci à celui qui aura la bonté de m'aider sans trop s’arrêter sur l'imperfection de mon travail que je mets en pièce jointe. 🙄
 

Pièces jointes

Dernière modification par un modérateur:
Re : améliorer un userform et y ajouter une requete

Bonsoir kly2spy,

pour changer les textes Vrai - Faux, met ceci dans le bouton Valider.


Code:
With Feuil2
For i = 2 To .Range("g65536").End(xlUp).Row
.Cells(i, 7).Value = Replace(.Cells(i, 7).Value, "Faux", "NON")
.Cells(i, 7).Value = Replace(.Cells(i, 7).Value, "Vrai", "OUI")
Next i
End With

Pour la deuxième question, il te faut créer un autre formulaire appelé Modifications qui devra rechercher la personne qui prolonge l'arrêt et y mettre la checkbox que tu as déjà et les datepickers. Dans la colonne F "Date prolongation". Il ne restera plus que, au travers de la chekbox, faire comme ceci(si j'ai bien compris).

Range("f2").value = Range("d2").Value & " " & Datepickf.value


A+ 😎
 
Dernière édition:
Re : améliorer un userform et y ajouter une requete

ça c'est cool pour le code........😱......... mais lors de toute nouvelle information ajoutée le "vrai" et "faux" reviennent. Est-il possible que cela se fasse instantanément ?

Pour le 2eme point, je l'ai tenté en cette heure tardive mais je dois reconnaitre que je n'y ai rien compris du tout.
La colonne F concerne le motif de l’arrêt et par mon raisonnement basic, je suis perdu. Aussi, je le tenterais à nouveau demain et je te tiens au courant. Merci pour ton attention...!!🙄
 
Dernière modification par un modérateur:
Re : améliorer un userform et y ajouter une requete

RE,

sans vouloir t'offenser, pourquoi mettre des noms propres partout??? 😕
Sinon, tu peux aussi faire comme ceci.

Code:
   st1 = Me.txtNom.Text
   Me.txtNom.Text = UCase(Mid(st1, 1, 1)) & Mid$(st1, 2, Len(st1))
   st2 = Me.txtPrenom.Text
   Me.txtPrenom.Text = UCase(Mid(st2, 1, 1)) & Mid$(st2, 2, Len(st2))

    ' Mise en place des valeurs saisies
    Worksheets("Donnees").Range("A65536").End(xlUp).Offset(1, 0).Value = txtMatricule.Value
    Worksheets("Donnees").Range("B65536").End(xlUp).Offset(1, 0).Value = UCase(Mid(st1, 1, 1)) & Mid$(st1, 2, Len(st1))
    Worksheets("Donnees").Range("C65536").End(xlUp).Offset(1, 0).Value = UCase(Mid(st2, 1, 1)) & Mid$(st2, 2, Len(st2))
    Worksheets("Donnees").Range("D65536").End(xlUp).Offset(1, 0).Value = DTPickerd.Value
    Worksheets("Donnees").Range("E65536").End(xlUp).Offset(1, 0).Value = DTPickerf.Value
    Worksheets("Donnees").Range("G65536").End(xlUp).Offset(1, 0).Value = CombMotif.Value
    Worksheets("Donnees").Range("H65536").End(xlUp).Offset(1, 0).Value = chbProlongation.Value
    Worksheets("Donnees").Range("I65536").End(xlUp).Offset(1, 0).Value = DTPickerp.Value


A+ 😎
 
Re : améliorer un userform et y ajouter une requete

Salut Lone-wolf,

Respect pour ton savoir et ta sympathie....😱
C'est en m’apprêtant à entamer mon 8eme jour sur ce travail que j'ai réalisé que tu me l'avais servi sur un plateau ( et en une soirée.....)😎

Il n’empêche que je visiterais les tutos pour au moins comprendre le sens de ton code concernant les noms propres (je l'ai d'ailleurs adopter).

Une petite recherche sur le net me permettra de trouver une solution à la valeur nulle (par défaut), à intégrer dans le Dtpicker.

Merci encore pour la noblesse de tes efforts....😱......j'affiche cette discussion en résolue.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour