Microsoft 365 Afficher le calendrier dans text box

dubarre

XLDnaute Occasionnel
Bonjour à tous je viens vers vous car j'ai une petite demande à vous faire je voudrais dans le UserForm de pouvoir afficher un calendrier dans latex boxe correspondant à date de décès quand la personne clique dessus cela ouvre un calendrier et puisse choisir la date souhaitée et par contre si elle est inférieure à la date de la combo box boursier alors rien ne s'affiche mais mon problème principal est l'affichage du calendrier je n'arrive pas à trouver la solution je n'arrive pas à trouver un bon tutoriel qui pourrait m'expliquer si quelqu'un a une idée je vous remercie ou a le temps de pouvoir m'expliquer car ce que je trouve n'ont pas l'air de vouloir correspondre avec Office 365 en vous remerciant d'avance.

PS : Je précise que le dossier que je fournis ne contiens pas de données réelles ce sont des données fictives.
 

Pièces jointes

  • XLD_Dubarre_Gestion_des_Artistes_v300662020-1_v00xyz.xlsm
    248.2 KB · Affichages: 26

ChTi160

XLDnaute Barbatruc
Re
Bonjour Patrick
Je suis d'accord avec vous lol
Je n'ai rien fait juste ajouté le premier Calendrier que j'ai trouvé.
Je n'ai regarde que le Userform2 ( pas les autres lol)
Pour montrer ce que cela peut donner .
Mais faudra que je vois lol
Merci à vous
Amicalement
Jean marie
PS : si le demandeur lit ça il ne reviendra pas lol
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour ChTi160
oui c'est vrai il me manque quelques filtres quand je dis les choses ;) ;) :D

je suis en train de refaire le "cal" comme je le vois en gardant la base que tu a donné sans option tres simple et vous le transmet sans module classe ( transportable comme dans ma ressource)
après je pense que @dubarre vu le projet,aura suffisamment de discernement pour comprendre
qu'il est dans un bourbier sans fin et qu'il faut faire les choses un peu plus proprement pour lui et les autres qui éventuellement passeraient derrière lui pour debuguer (demain ou dans 6 mois)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re à tous

Tiens j'ai retrouvé une discussion avec Dubarre à propos de ce Projet :

Bon Dim
@+Thierry
 

patricktoulon

XLDnaute Barbatruc
bon voila ton calendrier
il n'a pas changer d'un poil
je l'ai seulement entièrement ré encodé de A à Z

plus besoins de module classe

j'ai ajouté un userform de test usftestpatrick dans le quel se trouve un textbox qui est dans une frame3 qui elle meme est dans la frame2 :p :p qui elle me est dans la frame1 :D:D:Dqui elle me est dans le userform:p:D;)

j'ai fait ça pour bien te montrer que placer un userform au niveau d'un control dans un autre userform n'est pas si simple
dans le cal tu a la sub de placement qui gere toute les possibilité
c'est en gros le code le plus compliqué le reste est d'une simplicité déconcertante

ouvre usftestpatrick et clique sur le textbox
ABSOLUMENT TOUT EST DANS ME MODULE USERFORM "cal"

vous reste plus qu'a me virer ces modules classe et appeler le cal comme il se doit dans vos userform comme je le fait dans usftestpatrick

nomtextbox.value=cal.values(nomtextbox)

épicétoo';)
demo
demo4.gif
 

Pièces jointes

  • XLD_Dubarre_Gestion_des_Artistes.xlsm
    259.2 KB · Affichages: 16

ChTi160

XLDnaute Barbatruc
Bonsoir !
De retour Lol
j'ai modifié le Fichier selon les Conseils de Thierry et Patrick (Special thanks goes to Patrick)
sûrement encore perfectible , mais Bon ! Lol
Bonne fin de Soirée
jean marie
 

Pièces jointes

  • XLD_Dubarre_Gestion_des_Artistes_Chti160-3-1.xlsm
    256.5 KB · Affichages: 9

dubarre

XLDnaute Occasionnel
Bonjour à tous je vois que ce que j'essaie de créer grâce à votre aide intéresse certaines personnes mais je vois aussi certaines personnes dire usine à gaz qu'est-ce qui est ou qu'est-ce qui fait usine à gaz

Pourquoi vous dites ça juste pour que je puisse comprendre et peut-être essayer de modifier les choses.

Après ce que je réalise c'est à la demande d'une association avec certaines spécificités qui ne peuvent pas déroger à la règle et surtout ce sont des personnes qui ont du mal avec l'ordinateur et en plus c'est mon premier gros projet entre guillemets j'ai fait quelques petites choses pour essayer de comprendre certaines choses mais cette création pour l'association est vraiment quelque chose que je souhaite aboutir et si il y a des choses que je dois améliorer pour le bon fonctionnement car il va y avoir plus de 1000 personnes dans la base de données n'hésitait pas à me dire ce que je dois corriger pour que cela fonctionne correctement svp.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonsoit dubarre
une usine a gaz c'est un code a rallonge alors que parfois en 2 lignes'vec methodes apropriées) on fait ce que tu fait en en 15 lignes maladroitement écrites

il faut penser que l'on oublie avec le temps surtout quand on code maladroitement
si bien que dans 6 mois tu sera comme un débutant ne comprenant pas le code que tu a toi même ecris et tu saura pas debuguer ou même modifier
 

dubarre

XLDnaute Occasionnel
Bonjour PatrickToulon,

Je comprends tout à fait ce que tu veux dire après comme je l'ai marqué je débute donc je n'ai pas encore tout à pris c'est à force de me balader sur les forums et de voirs des exemples que j'essaye de décrypter que je monte ce classeur si après tu peux me donner un exemple pour je puisse comprendre plus précisément ce que tu dis sur le classeur ci-dessus par exemple peut-être dans le UserForm1 pour je puisse voir la différence et comprendre et essayer de modifier mes erreurs

En tout cas merci de votre réponse je comprends enfin ce que le usine à gaz veut dire lol.
 

patricktoulon

XLDnaute Barbatruc
tres bien tu veux un exemple de simplification de code pour ton userform1
ben tiens commençons par le initalize
ne prend pas peur respire un bon coup ;)
VB:
Private Sub UserForm_Initialize()

'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'Permet de mettre un chiffres ID en fonction du dernier numéro dans la colonne A     $
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    Me.Label8.Caption = Application.WorksheetFunction.Max(Worksheets("BDD").Columns(1)) + 1
    Dim I As Integer

    '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    'EFFACEMENT DE TOUS LES CONTROLES DU FORMULAIRE       $
    '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    For Each ctrl In userform1.Controls
        If TypeOf ctrl Is MSForms.TextBox Or TypeOf ctrl Is MSForms.ComboBox Then
            ctrl.Text = ""
            ctrl.BackColor = vbWhite
            ctrl.ForeColor = RGB(150, 150, 150)
            ctrl.Font.Bold = True
        End If
    Next

    '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    'REINITIALISATION DE TOUTES LES COMBOBOXES
    '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    'JE SUPPRIME CECI
    ' For I = ComboBox1.ListCount - 1 To 0 Step -1
    '  ComboBox1.RemoveItem (I)
    'Next I
    'For I = CbxCivilite.ListCount - 1 To 0 Step -1
    'CbxCivilite.RemoveItem (I)
    'Next I
    'For I = CbxBoursier.ListCount - 1 To 0 Step -1
    'CbxBoursier.RemoveItem (I)
    'Next I
    'For I = CbxMAssocie.ListCount - 1 To 0 Step -1
    'CbxMAssocie.RemoveItem (I)
    'Next I
    'For I = CbxMembre.ListCount - 1 To 0 Step -1
    'CbxMembre.RemoveItem (I)
    'Next I


    'PREINSCRIPTION EN GRIS SUR TEXTBOX2
    'Me.TextBox2.Value = "Nom et Prénom"
    'Me.TextBox3.Value = "N°, type de voie, nom de voie"

    '---------------------------------------------------------------
    'REMPLISSAGE COMBOBOX
    '---------------------------------------------------------------


      'userform1.CbxCivilite.AddItem "M."
    'userform1.CbxCivilite.AddItem "Mme"
    'userform1.CbxCivilite.AddItem "Mle"

    '---------------------------------------------------------------
    'REMPLISSAGE COMBOBOX
    '---------------------------------------------------------------

    'userform1.ComboBox1.AddItem "B"
    'userform1.ComboBox1.AddItem "P"
    'userform1.ComboBox1.AddItem "B/P"

    '---------------------------------------------------------
    'REMPLISSAGE COMBOBOX
    '---------------------------------------------------------
    'userform1.CbxBoursier.AddItem ""
    'userform1.CbxMAssocie.AddItem ""
    'userform1.CbxMembre.AddItem ""

  '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    'QUE JE REMPLACE PAR CELA

    Dim tabl, a&
    With Me
        mescombo = Array(ComboBox1, CbxCivilite, CbxBoursier, CbxMembre)
        For I = 0 To UBound(mescombo): mescombo(I).Clear: Next

        .CbxCivilite.List = Array("M.", "Mme", "Mle")
        .ComboBox1.List = Array("B", "P", "B/P")

        ReDim tabl(0 To (Year(Date) - 1956) + 1)
        For u = Year(Date) To 1956 Step -1: a = a + 1: tabl(a) = "01/03/" & u: Next
        .CbxBoursier.List = tabl
        .CbxMAssocie.List = tabl
        .CbxMembre.List = tabl


        .TextBox19.Value = ""
        .TextBox20.Value = ""
        .TextBox21.Value = ""
        .Label3.Caption = Date
        .CbxCivilite.SetFocus
    End With
    '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    'For Each Ctrl In UserForm1.Controls
    '    If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
    '        Ctrl.Text = ""
    '    End If
    'Next


End Sub


et pour tes event exit et autre de te textbox il y a des répétitions donc là aussi il y a moyen de simplifier
tu voulais un exemple ben tu l'a;)

mais il faudra m'expliquer quand même pourquoi tu clear tes combo a l'initialize alors qu'elle sont déja vide au départ je dis çà moi j'dis rien ;)
bref
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 226
Messages
2 086 414
Membres
103 204
dernier inscrit
alaa20dine01