J'ai un petit usf avec une combo qui se rempli come il faut mai sla
seconde qui est censée se remplir Í partir de la valeur du CB1 ne le
fait pas. Par conséquence il n'est pas possible de remplir le textbox
final évidemment.
La valeur du CB1 est bien lÍ mais je ne vois pas le pb.
PlutÍ´t que de copier l'ensemble du code qui est sous UserForm et pas
dans un module ainsi que la feuille Base o͹ se trouve les données
initiales, je met le fichier en dl ci-dessous.
https://www.cjoint.com/c/KAivyglMviw
Merci d'avance Í celui ou celle qui prendra un peu de temps pour
diagnostiquer l'erreur.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 08/01/21 Í 16:29, Daniel a écrit :
Bonjour Í toutes et Í tous, J'ai un petit usf avec une combo qui se rempli come il faut mai sla seconde qui est censée se remplir Í partir de la valeur du CB1 ne le fait pas. Par conséquence il n'est pas possible de remplir le textbox final évidemment. La valeur du CB1 est bien lÍ mais je ne vois pas le pb. PlutÍ´t que de copier l'ensemble du code qui est sous UserForm et pas dans un module ainsi que la feuille Base o͹ se trouve les données initiales, je met le fichier en dl ci-dessous. https://www.cjoint.com/c/KAivyglMviw Merci d'avance Í celui ou celle qui prendra un peu de temps pour diagnostiquer l'erreur. Daniel
Bonjour, Dans le formulaire, la procédure "Private Sub ComboBox1_Change()" Tu dois modifier cette ligne de code : If Worksheets("Base").Range("A" & J) = ComboBox1.Value Then Par If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then En fait, la fonction de conversion Clng() transforme le contenu "TEXTE" du combobox (un combobox affiche du texte) en numérique (type long). Maintenant, le symbole "=" prend tout son sens. On compare 2 valeurs numériques. Le code devient ceci : For J = 1 To Worksheets("Base").Range("A" & Rows.Count).End(xlUp).Row If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then UserForm1.ComboBox2.AddItem Worksheets("Base").Range("B" & J) End If Next J MichD
Le 08/01/21 Í 16:29, Daniel a écrit :
Bonjour Í toutes et Í tous,
J'ai un petit usf avec une combo qui se rempli come il faut mai sla
seconde qui est censée se remplir Í partir de la valeur du CB1 ne le
fait pas. Par conséquence il n'est pas possible de remplir le textbox
final évidemment.
La valeur du CB1 est bien lÍ mais je ne vois pas le pb.
PlutÍ´t que de copier l'ensemble du code qui est sous UserForm et pas
dans un module ainsi que la feuille Base o͹ se trouve les données
initiales, je met le fichier en dl ci-dessous.
https://www.cjoint.com/c/KAivyglMviw
Merci d'avance Í celui ou celle qui prendra un peu de temps pour
diagnostiquer l'erreur.
Daniel
Bonjour,
Dans le formulaire, la procédure "Private Sub ComboBox1_Change()"
Tu dois modifier cette ligne de code :
If Worksheets("Base").Range("A" & J) = ComboBox1.Value Then
Par
If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then
En fait, la fonction de conversion Clng() transforme le contenu "TEXTE"
du combobox (un combobox affiche du texte) en numérique (type long).
Maintenant, le symbole "=" prend tout son sens. On compare 2 valeurs
numériques.
Le code devient ceci :
For J = 1 To Worksheets("Base").Range("A" & Rows.Count).End(xlUp).Row
If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then
UserForm1.ComboBox2.AddItem Worksheets("Base").Range("B" & J)
End If
Next J
Bonjour Í toutes et Í tous, J'ai un petit usf avec une combo qui se rempli come il faut mai sla seconde qui est censée se remplir Í partir de la valeur du CB1 ne le fait pas. Par conséquence il n'est pas possible de remplir le textbox final évidemment. La valeur du CB1 est bien lÍ mais je ne vois pas le pb. PlutÍ´t que de copier l'ensemble du code qui est sous UserForm et pas dans un module ainsi que la feuille Base o͹ se trouve les données initiales, je met le fichier en dl ci-dessous. https://www.cjoint.com/c/KAivyglMviw Merci d'avance Í celui ou celle qui prendra un peu de temps pour diagnostiquer l'erreur. Daniel
Bonjour, Dans le formulaire, la procédure "Private Sub ComboBox1_Change()" Tu dois modifier cette ligne de code : If Worksheets("Base").Range("A" & J) = ComboBox1.Value Then Par If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then En fait, la fonction de conversion Clng() transforme le contenu "TEXTE" du combobox (un combobox affiche du texte) en numérique (type long). Maintenant, le symbole "=" prend tout son sens. On compare 2 valeurs numériques. Le code devient ceci : For J = 1 To Worksheets("Base").Range("A" & Rows.Count).End(xlUp).Row If Worksheets("Base").Range("A" & J) = CLng(ComboBox1.Value) Then UserForm1.ComboBox2.AddItem Worksheets("Base").Range("B" & J) End If Next J MichD