Problème de combobox lié à un textbox

benadry

XLDnaute Occasionnel
Bonjour le forum,

Dans un userform, j'ai un textbox (txt16) qui indique la catégorie du salarié (employé, cadre, agent de direction) et une liste de primes en combobox5, qui dépend du statut du salarié.

Si le salarié est un employé, la liste des primes auxquelles il peut prétendre est dans la feuille Autres_données, cellules K25:K38.
Si c'est un cadre, c'est dans la feuille Autres_données, cellules K39:K50.
Enfin, si c'est un agent de direction, c'est dans la feuille Autres_données, cellules K51:K61.

En apparence, c'est très simple.

J'ai donc essayé avec le code suivant :

Private Sub Txt16_Change()

With Sheets("Autres_données")

If Txt16.Value = "Employé" Then
ComboBox5.Value = K25:K38
End If
If Txt16.Value = "Cadre" Then
"K39: k50".Value = ComboBox5.Value
End If
If Txt16.Value = "Agent de direction" Then
ComboBox5.Value ="K51:K61"
End If

End With

End Sub

Je vous ai regroupé les différents essais que j'ai faits. Mais, rien ne fonctionne : soit c'est vide, soit j'ai dans ma liste déroulante la valeur "k51:k61".

Quelqu'un pourrait-il me dire quelle est la bonne syntaxe ?


Merci d'avance.

Cordialement.
 

VDAVID

XLDnaute Impliqué
Re : Problème de combobox lié à un textbox

Bonjour benardy,

Essaye plutôt comme ceci:

Code:
Private Sub Txt16_Change()

With Sheets("Autres_données")

If Txt16.Value = "Employé" Then
ComboBox5.RowSource = .Range("K25:K38").Address
End If

End With

End Sub

Attention, quand tu utilises "With", si tu ne mets pas de points devant les Range par exemple, ça ne sert à rien et c'est la feuille active qui sera prise au lieu de la Sheets("Autres_données")

EDIT : Bonjour Pierrot
 

Discussions similaires

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN