[Vba] Module de classe: définition

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 !

Maxoverfred

XLDnaute Occasionnel
Bonjour, je ne m'en sors pas en voulant utiliser mon module de classe.

Le but:
Au démarrage de mon userform, je scanne tous les champs dont le label comprend 'date' et j'associe une fonction sur l'évènement on exit qui va contrôler si le champs est biend e type date et qu'il respecte le format désiré...
Cela a très bien marché quand je défini un masque de saisie.. mais maintenant que j'ai défini non plus des textbox mais des control car j'ai besoin de l'évènement on exit, cela ne va plus..

Mon code:

Dans mon module de classe:

Public WithEvents controldate As MSForms.Control

Private Sub controldate_AfterUpdate()
If IsDate(controldate) Then
controldate = Format(controldate, 'dd-mmm-yy')
Else
MsgBox 'Date format required: 'dd-mmm-yy'', vbCritical
End If
End Sub

Sur mon userform à l'initialisation:

Dim ctrldate() As New Classcontroledate
For Each ctrl In usrinput.Controls
If LCase(ctrl.Name) Like 'lbl_*' Or LCase(ctrl.Name) Like 'cmd*' Then
Else
If InStr(1, LCase(ctrl.Name), 'date', vbTextCompare) > 0 Then
nb = nb + 1
ReDim Preserve ctrldate(1 To nb)
Set ctrldate(nb).controldate = ctrl
End If
End If
Next


De l'aide serait la bienvenue, car j'en trouve très peu sur le net...

Merci et bon week end.
 
- 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

Discussions similaires

Réponses
4
Affichages
461
Retour