Bonjour tout le monde,
je bloque sur un point depuis deux jours
j'ai 10 CommandButton_DatEchLigEnc de 1 à 10 chaque bouton affiche un calendrier
à coté j'ai 10 TextBox_EchEncLig de 1 à 10
quand je clique sur CommandButton_DatEchLigEnc1 le calendrier s'affiche puis je clique sur une date
ce que je souhaite c'est que cette date soit inscrite dans le textbox approprié c.a.d TextBox_EchEncLig1
donc au lieur d'écrire un code pour chaque bouton et pour chaque textbox je souhaite faire une boucle
merci d'avance
voici mon code
dans une classe Classe_GroupeDates je met ce code
Option Explicit
Public WithEvents BoutonCalendrier As MSForms.CommandButton
Public WithEvents ZoneSaisieTexte As MSForms.TextBox
Private Sub BoutonCalendrier_Click()
AffichageCalendrier BoutonCalendrier
RemplissageZoneTexte ZoneSaisieTexte
End Sub
dans un module je met
Sub AffichageCalendrier(ListeBoutons As MSForms.CommandButton)
UserForm_Calendrier.Show
End Sub
Sub RemplissageZoneTexte(ListeTexteBox As MSForms.TextBox)
If Dat <> "" Then ListeTexteBox.Value = Dat
End Sub
et dans mon USF
Dim ListeGroupeBoutons(1 To 12) As New Classe_GroupeDates
Dim ListeTexteBox(1 To 12) As New Classe_GroupeDates
Private Sub UserForm_Initialize()
Dim Ctrl As Control
Dim I As Integer
I = 1
J = 1
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "CommandButton" And Ctrl.Name = "CommandButton_DatEchLigEnc" & I Then
Set ListeGroupeBoutons(I).BoutonCalendrier = Ctrl
I = I + 1
End If
If TypeName(Ctrl) = "TextBox" And Ctrl.Name = "TextBox_EchEncLig" & I Then
Set ListeTexteBox(I).ZoneSaisieTexte = Ctrl
J = J + 1
End If
Next Ctrl
Set Ctrl = Nothing
End Sub