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

Résolu : Ne pas afficher le contenu d'une TextBox

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

J

Jacob

Guest
Bonjour le forum,

J'ai créé un UserForm qui m'affiche X dates, les dates étant l'information variable en fonction de la selection de ma ComboBox, elles s'affichent donc dans des TextBox.

J'ai donc établi un format date pour la TextBox ( CDate ...).

Il y a de base une vingtaine de TextBox SUSCEPTIBLE d'être remplies.

Le problème est que lorsqu'il n'y a rien à afficher la TextBox se remplie de "00:00:00".

Comment faire pour éviter cela ?

Merci d'avance

Voici une partie du code de ma ComboBox :

Private Sub Maliste_Change()
Dim x As Integer

x = Maliste.ListIndex

Habil1 = CDate(Maliste.List(x, 3))
Habil2 = CDate(Maliste.List(x, 4))
Habil3 = CDate(Maliste.List(x, 5))

End Sub

PS: J'ai essayé du .Hide ou .Visible = False mais ça ne fonctionnne pas. Ou peut être l'ai-je mal codé ?
Tout fonctionne parfaitement sauf le fait que je ne trouve pas agréable du tout le fait d'avoir des 0 (zéro) partout.
 
Dernière modification par un modérateur:
Re : Ne pas afficher le contenu d'une TextBox

Re,

essaye ceci :
Code:
Private Sub ComboBox1_Change()
Dim x As Integer

    x = ComboBox1.ListIndex
    
    If Not IsEmpty(ComboBox1.List(x, 3)) Then TextBox1 = CDate(ComboBox1.List(x, 3))
    If Not IsEmpty(ComboBox1.List(x, 4)) Then TextBox2 = CDate(ComboBox1.List(x, 4))
    If Not IsEmpty(ComboBox1.List(x, 5)) Then TextBox3 = CDate(ComboBox1.List(x, 5))

End Sub

pas top l'alimentation par la propriété "rowsource"... préférer la méthode "additem"... de nombreux exemples sur le forum...

bon après midi
@+
 
Re : Ne pas afficher le contenu d'une TextBox

Merci à toi puisque ça fonctionne comme je le souhaite.

Seulement il y a un petit défaut.

Lorsque je sélectionne, admetons pour l'exemple: "TOTO", j'ai bel et bien les deux premières Textbox qui se remplissent.
Je veux ensuite regarder les habilitations de "JOJO". A ce moment là les TextBox 1 et 3 se mettent à jours mais la deuxième garde l'affichage de la sélection précédente ...

Comment puis-je parer à cela ?

Merci pour l'aide que tu m'as déjà apporté !
 
Re : Ne pas afficher le contenu d'une TextBox

bonjour Jacob ,pierrot 🙂

en passant par list

Code:
Dim y As Byte
Private Sub userform_initialize()
 ComboBox1.List = Feuil1.Range("c3:f" & Feuil1.Cells(Rows.Count, 3).End(3).Row).Value
End Sub
Private Sub ComboBox1_Click()
  For y = 1 To 3: Me("Textbox" & y) = ComboBox1.List(ComboBox1.ListIndex, y): Next y
End Sub
 

Pièces jointes

Re : Ne pas afficher le contenu d'une TextBox

Re, bonjour Laetitia🙂

HTML:
A ce moment là les TextBox 1 et 3 se mettent à jours mais la deuxième garde l'affichage de la sélection précédente ...

vide les avant l'alimentation :
Code:
TextBox1 = ""
 
Re : Ne pas afficher le contenu d'une TextBox

Problème résolu par la solution suivante :

If IsEmpty(ComboBox1.List(x, 3)) Then TextBox1 = " "

Tout simplement....

Merci beaucoup pour votre aide.

Je met à disposition le fichier avec la solution pour les utilisateurs du forum rencontrants éventuellement ce problème 😉
 

Pièces jointes

Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…