Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

agir sur plusieures textbox ou combobox à la fois

  • Initiateur de la discussion Initiateur de la discussion aeque
  • 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 !

aeque

XLDnaute Occasionnel
Bonjour le fofo

une fois de plus j'ai besoin de vous

J'aimerai savoir quel est le moyen d'agir sur plusieurs textbox à la fois.

voilà mon code, je traite les textbox une par une est c assez fastidieux surtout que le dois en faire d'autres comme ca

Merci du coup de main

Code:
Private Sub TextBox5_AfterUpdate()
 If Not (IsDate(TextBox5.Value)) Then
            MsgBox "Entrée la date sous la forme jj/mm/aaaa": TextBox5.Value = ""
        Else
            TextBox5.Value = Format(DateValue(TextBox5.Value), "dd/mm/yyyy")
        End If
End Sub

Private Sub TextBox6_AfterUpdate()
 If Not (IsDate(TextBox6.Value)) Then
            MsgBox "Entrée la date sous la forme jj/mm/aaaa": TextBox6.Value = ""
        Else
            TextBox6.Value = Format(DateValue(TextBox6.Value), "dd/mm/yyyy")
        End If
End Sub

Private Sub TextBox7_AfterUpdate()
 If Not (IsDate(TextBox7.Value)) Then
            MsgBox "Entrée la date sous la forme jj/mm/aaaa": TextBox7.Value = ""
        Else
            TextBox5.Value = Format(DateValue(TextBox7.Value), "dd/mm/yyyy")
        End If
End Sub

Private Sub TextBox8_AfterUpdate()
 If Not (IsDate(TextBox8.Value)) Then
            MsgBox "Entrée la date sous la forme jj/mm/aaaa": TextBox8.Value = ""
        Else
            TextBox8.Value = Format(DateValue(TextBox58Value), "dd/mm/yyyy")
        End If
End Sub
 
Re : agir sur plusieures textbox ou combobox à la fois

Bonsoir,
Des tutos sur le sujet sont foisons sur le forum ainsi que celui-ci
Note que l'événement "AfterUpdate" n'est pas géré dans un module de classe concernant les variables de type TextBox, il faudra donc contourner le pb.
A+
kjin
 
Re : agir sur plusieures textbox ou combobox à la fois

bonsoir,
Hello kjin🙂

Une façon de contourner légèrement le problème si les modules de classe te parraissent trop compliqués:
Une fonction générique dans ton module de userForm, que tu appelles dans les évènements After_Udapte de tes contrôles.
Tu n'auras plus qu'à écrire pour chacun d'eux:
Code:
TextBoxN=GetDate(TextBoxN.Text)
Comme ci-dessous
Code:
Private Function GetDate(LaDate As String) As String
    If Not (IsDate(LaDate)) Then
        MsgBox "Entrée la date sous la forme jj/mm/aaaa"
        GetDate = ""
    Else
        GetDate = Format(DateValue(LaDate), "dd/mm/yyyy")
    End If
End Function
 
Private Sub TextBox1_AfterUpdate()
TextBox1 = GetDate(TextBox1)
End Sub

A+
 
Re : agir sur plusieures textbox ou combobox à la fois

Bonjour le fil 🙂,
Aeque m'ayant appelé "au secours" en MP, je me suis lancé et en suivant le tuto proposé par Kjin, j'ai commis mon premier module de classe, en retenant KeyPress et Change 😛...
C'est vrai que c'est plutôt sympa, même si c'est pas évident la première fois 🙄...
J'ai limité volontairement aux 3 premiers TextBox, car ça métonnerait qu'il n'y ait que des dates 😉...
Au passage, une petite question aux spécialistes des modules de classe : comment on peut faire pour savoir quel est le contrôle qui a déclenché l'événement 😕 ?
Bon dimanche 😎
 

Pièces jointes

Re : agir sur plusieures textbox ou combobox à la fois

Re 🙂,
MsgBox TargetChangeBox.Name
Y a des fois où je suis vraiment bête 😛...
Comme la propriété Name n'était pas dans la liste automatique, ben, j'ai même pas testé 😉...
Merci Jean-Marcel et bonne journée 😎
PS : il y a un trou dans mon exemple : comme il n'y a pas d'événement Exit, il est possible de quitter le TextBox sans avoir mis une date complète 😱...
 
Re : agir sur plusieures textbox ou combobox à la fois

bonjour tous trop nombreux pour vous citer tous 🙂
dans ce cas precis textbox pas renommees on peut l'ecrire comme cela
si date il faut prevoir de supprimer caracteres si on se trompe... donc code un peu plus long dans module de classe... limite le nombre de caracteres dans proprietees a 10 pour chaque textbox cela limite deja pas mal d'erreurs ..
 

Pièces jointes

Re : agir sur plusieures textbox ou combobox à la fois

Re 🙂,
Ben dis donc, ça commence à me plaire les modules de classe 😛...
Merci Laetitia de m'avoir montrer qu'on pouvait gérer 2 événements dans un seul module 😉.
Et avec Jean-Marcel, ça m'a permis de supprimer le SendKeys que je n'affectionne pas vraiment 🙄...
Donc ma deuxième mouture 😀.
Bon dimanche 😎
 

Pièces jointes

- 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
5
Affichages
913
Réponses
9
Affichages
386
Réponses
6
Affichages
641
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Réponses
2
Affichages
411
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…