Pour situer le contexte :Ah mince j'ai posté un nouveau message sans voir ton message suivant... je regarde
En fait un double clic fait l'affaireutiliser le mouseup pour le calendrier
le mouse up est un events de sortie
dans la version que j'ai donné il ne se répète pas l'affichagemais pour être honnête il faudrait repartir de zero car il y a beaucoup de control qui font la même chose
on pourrait réduire le code de moitié et le rendre plus intelligible pour le lecteur
si vous vous sentez on repart de zero
en post #8 je vous montre aussi comment je restreint les textbox en numérique(date) avec control de validité de date dans l'events keydown dans un select case
bien évidement les keypress disparaissent ils ne sont plus nécessaires
bien que avec le calendar normalement il serait judicieux de supprimer la saisie manuelle
ce qui allègerait encore plus le code
Public WithEvents tbxdate As MSForms.TextBox
Public WithEvents Togle As MSForms.ToggleButton
Public WithEvents Label_Date As MSForms.Label
Dim cl(5) As New FicheInscription
Dim cl2(5) As New FicheInscription
Dim cl3(13) As New FicheInscription
'Gestion des textboxs date un seul event DBLCLICK pour tout les textbox(ici on appelle le calendar)
Private Sub tbxdate_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
tbxdate = Calendar.ShowX(tbxdate, 2, 0, 1)
End Sub
'Gestion des textboxs date un seul event pour tout les textbox(ici on bloque toute les touche et appelle le calendar
Private Sub tbxdate_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
KeyCode = 0: tbxdate = Calendar.ShowX(tbxdate, 2, 0, 1)
End Sub
Private Sub Label_Date_Click() 'date début et fin
Label_Date.Caption = Calendar.ShowX(Label_Date, 2, 0, 1)
End Sub
' Gestion des bouton crepe un seul event pour tout les togglebutton
Private Sub Togle_Click()
Togle.BackColor = IIf(Togle, RGB(0, 255, 0), RGB(255, 216, 177)) 'au clic : passe du vert au orange
If Togle.Name = "ToggleButtonEtoile" Then Togle.ForeColor = IIf(toglr, RGB(255, 131, 0), RGB(0, 0, 0)) 'au clic : passe du orange au noir
End Sub
Private Sub UserForm_Activate()
Dim A&, C&
For Each ctrl In Me.Controls
If ctrl.ControlTipText = "date" Then A = A + 1: Set cl(A).tbxdate = ctrl 'classe textbox
If ctrl.Tag = "togle" Then B = B + 1: Set cl2(B).Togle = ctrl 'classe togglrbutton
If ctrl.Tag = "date" Then C = C + 1: Set cl3(C).Label_Date = ctrl 'classe labeldate
Next
End Sub
'---------------------------------------------------------------------------------------------------
Txt_N°_Client.Value = Cells(no_ligne, 1).Value
Txt_Nom.Value = Cells(no_ligne, 2).Value
Txt_Prénom.Value = Cells(no_ligne, 3).Value
Txt_Age.Value = Cells(no_ligne, 6).Value
Txt_Nom_Adulte.Value = Cells(no_ligne, 7).Value
Txt_Tel_1.Value = Cells(no_ligne, 8).Value
Txt_Tel_2.Value = Cells(no_ligne, 9).Value
Txt_Mail.Value = Cells(no_ligne, 10).Value
LabelDatDeb = Cells(no_ligne, 11).Value
LabelDatFin = Cells(no_ligne, 12).Value
ComboBox_Formule_Club.Value = Cells(no_ligne, 13).Value
Txt_Sous_Total_1.Value = Cells(no_ligne, 14).Value
Txt_Natation.Value = Cells(no_ligne, 15).Value
Txt_Total_Nat.Value = Cells(no_ligne, 33).Value
Txt_Sous_Total_2.Value = Cells(no_ligne, 16).Value
Txt_Parasol.Value = Cells(no_ligne, 17).Value
Txt_Sous_Total_3.Value = Cells(no_ligne, 18).Value
Txt_TOTAL.Value = Cells(no_ligne, 19).Value
Txt_Paiement.Value = Cells(no_ligne, 20).Value
Txt_Date_Paiement.Value = Cells(no_ligne, 22).Value
Txt_Doit.Value = Cells(no_ligne, 21).Value
Txt_Notes.Value = Cells(no_ligne, 31).Value
Txt_Ruban_Jaune.Value = Cells(no_ligne, 30).Value
Case_chèque.Value = Cells(no_ligne, 23).Value
Case_Chèque_vacances.Value = Cells(no_ligne, 24).Value
Case_Espèce.Value = Cells(no_ligne, 25).Value
Case_Ch_Vac_Connect.Value = Cells(no_ligne, 26).Value
Case_Virement.Value = Cells(no_ligne, 27).Value
Case_Appli_Tel.Value = Cells(no_ligne, 28).Value
ComboBox_Pre_reservation.Value = Cells(no_ligne, 32).Value
Txt_Diplomes.Value = Cells(no_ligne, 34).Value
Txt_Sous_Total_11.Value = Cells(no_ligne, 40).Value
Txt_Total_Nat1.Value = Cells(no_ligne, 41).Value
Txt_TOTAL1.Value = Cells(no_ligne, 42).Value
Txt_PaiementS1.Value = Cells(no_ligne, 43).Value
Txt_Date_PaiementS1.Value = Cells(no_ligne, 44).Value
TextBoxDebEnf1.Value = Cells(no_ligne, 36)
TextBoxFinEnf1.Value = Cells(no_ligne, 37)
ComboBox_Formule_ClubS11.Value = Cells(no_ligne, 38)
Txt_NatationEnf1.Value = Cells(no_ligne, 39)
Txt_Date_PaiementS1.Value = Cells(no_ligne, 44)
Txt_DOIT_S1.Value = Cells(no_ligne, 45)
ToggleButtonEtoile.Value = Cells(no_ligne, 46)
ToggleButtonCrepe1.Value = Cells(no_ligne, 35)
je t'avoue que la.. suis sec.. : les seuls events associés aux textbox taggés "Date" sont ceux que je vois dans le module de classe.. ou alors...je dois revoir mon ophtalmo..c'est parce que il y a des event qui y sont encore c'est tout
il s'agirait de les tagger avec le numéro de colonne associé ? effectivement...taguant intelligemment les controls
c'est pour ça (encore une fois je le redis) j'