Activer un textbox en fonction du choix du combobox

Bonjour, j'ai une liste déroulante qui contient 3 éléments : paiement cash, crédit, dépôt vente. j'ai une textbox1 .

alors j'aimerai que la textbox1 reste invisible lorsque le userform s'affiche et n'apparaisse que lorsque je sélectionne "crédit".

exple: lorsque je sélectionne paiement cash le textbox1 reste invisible,

lorsque je sélectionne paiement dépôt vente le textbox1 reste invisible,

lorsque je sélectionne paiement crédit le textbox1 apparait, pour que l'on puisse saisir la date d'échéance du crédit.

voici le code que j'utilise pour la liste déroulante :

Do While Worksheets("paiement").Cells(I, 1) <> ""

ComboBox_paiement.AddItem Worksheets("paiement").Cells(I, 1)

I = I + 1

Loop

merci de m'indiquer le code vba a utiliser.

Bonjour,

Le Userform doit s'ouvrir avec TextBox1 non visible, lequel ne devient visible que si la Combo affiche "crédit".

1) La valeur par défaut de la propriété Visible de TextBox1 doit être à False (=non visible à l'ouverture) : on passe donc cette propriété à False dans la fenêtre de propriétés.

2) L'évolution de cette propriété durant l'exécution est conditionnée par le choix fait dans une ComboBox ; il y a donc lieu d'inclure un test dans la procédure ComboBox_Change, par exemple :

    TextBox1.Visible = (ComboBox1.Value = "crédit")

De façon compacte, on obtiendra ainsi l'alignement de l'apparition ou non de la TextBox en lien avec le choix dans la Combo... [NB- L'espression mise entre parenthèses, à droite du signe = est une expression booléenne, renvoyant VRAI ou FAUX...]

Cordialement.

Bonjour, merci ça marche. Mais j’ai un autre souci, j’utilise le code ci-dessous pour ajouter la date du textbox1 dans la cellule H43 d’une feuille excel.

.Range("H43").Value = DateValue(Format(TextBoxecheance.Value, "dd/mm/yyyy")).

Lorsque je sélection crédit dans le menu déroulant, le textbox1 apparait, j’entre la date d’échéance puis je valide. Dans ce cas tout se passe bien.

Lorsque je sélection « paiement cash » ou « dépôt vente », le texbox1 reste invisible, j’ai donc pas de date à entrer. Et lorsque je valide un message d’erreur apparait : Erreur d’exécution ‘13’ :

Incompatibilité de type

C’est comme si l’application réclamait forcement une valeur pour la cellule H43.

Comment je peux améliorer mon code

Merci pour votre aide

Bonsoir,

Une erreur 13 sur cette ligne,ce ne peut être que la date n'étant pas reconnue comme date, sa mise au format échoue et tu n'as donc pas de texte (identifiable comme date) à soumettre à DateValue, à moins qu'une conversion sauvage intervienne avant l'effet de format qui empêcherait la suite... Quel que soit le cas tu as alors une erreur 13 car pas de chaîne convertible à laquelle appliquer DateValue...

Je déconseille généralement l'utilisation de Format lors d'affectation de date, mais effectivement sauf dans le cas où tu l'utilises (je n'en fais habituellement pas état pour ne pas trop troubler les esprits ! ) qui peut correspondre à la mise dans un format texte propre à permettre la conversion par DateValue, cas qui peut parfois se présenter...

Mais si cela échoue, il faut essayer de commencer par le plus simple :

   If IsDate(TexBoxecheance.Value) Then .Range("H43") = CDate(TextBoxecheance.Value)

et si ça ne marche pas faudra regarder de plus près ce qui est saisie dans la TextBox.

NB- Fais tes essais avec des dates inversables (jours inférieurs à 13) pour vérifier la fiabilité de la méthode.

Cordialement.

Bonjour, et merci pour ton aide, lorsque j'utilise le code donné, je reçois un message d'erreur : Erreur de compilation : Variable non definie.

puis TexBoxecheance reste sélectionné.

Certainement !

Mais tu n'as pas besoin de moi pour corriger TexBoxecheance et rétablir TextBoxecheance !

Cordialement.

Bonjour, lol, j'ai pas compris la réponse, j'avais essayé de corriger l'erreur par : Dim TextBoxecheance As Date, mais j'avais toujours l'erreur : Erreur de compilation : Variable non definie.

je débute en vba, merci pour ton aide

Tu sais lire non !

Tu vois bien qu'un mot est affecté par une faute d'orthographe ! Non ? Pas écrit de la même façon...

Alors le mot dont l'écriture n'est pas la bonne ne désignera pas l'objet qu'il est censé désigner et provoquera une erreur.

hoooooooooooooo pardon, j'ai pas compris le message de cette façon, je savais pas que c'était du à l'orthographe. merci ca marche

merci pour tout.

Rechercher des sujets similaires à "activer textbox fonction choix combobox"