Userform Combobox et RECHERCHEV

Bonjour tout le monde.

Alors je vais vous expliquer mon soucis. Cela fait deux-trois jours que j'ai un problème avec une fonction recherchev version VBA.

Que je m'explique : j'ai créé il y a peu un excel qui permet d'ouvrir deux userform afin qu'ils calculent automatiquement un total en fonction de certaines données (un système de devis automatique en quelques sortes). Dans l'ensemble, quand j'ai des champs à remplir ou des cases à cocher, mes calculs fonctionnent bien. Mon soucis, concerne un champ où je dois sélectionner parmi une liste disponible dans un champ. Quand je sélectionne un temps, il faudrait que le prix en conséquence soit pris en compte et ce n'est pas la cas. Voici donc ce que j'ai fait :

Alors, pour commencer, j'ai fait apparaître les champs dans la case en utilisant le code suivant :

Private Sub UserForm_Initialize()
Dim Cel As Range

'Chant[[Temps chant]]
For Each Cel In Range("Chant[[Temps chant]]")
    Me.TpsChnt.AddItem Cel.Text
Next Cel

End Sub

Comme vous le remarquez, les valeurs font parti d'un tableau "Chant", colonne "Temps chant". Sur cette partie là, pas de problèmes.

La deuxième consiste à prendre une valeur comme référence en fonction de la donnée sélectionnées dans le champ précédent. N'ayant pas réussi à utiliser une fonction type RECHERCHEV,, je suis parti sur une fonction IF / ELSEIF... mais même là ça ne fonctionne pas.

'Calculer Chant en fonction des données ci-dessus
If chkchnt = True Then
    If TpsChnt.SelText = Sheets("Feuil2").Range("f6").Value Then
    Chant = Sheets("Feuil2").Range("g6").Value * Kd
    ElseIf TpsChnt.Value = Sheets("Feuil2").Range("f7").Value Then
    Chant = Sheets("Feuil2").Range("g7").Value * Kd
    ElseIf TpsChnt.Value = Sheets("Feuil2").Range("f8").Value Then
    Chant = Sheets("Feuil2").Range("g8").Value * Kd
    ElseIf TpsChnt.Value = Sheets("Feuil2").Range("f9").Value Then
    Chant = Sheets("Feuil2").Range("g9").Value * Kd
    ElseIf TpsChnt.Value = Sheets("Feuil2").Range("f10").Value Then
    Chant = Sheets("Feuil2").Range("g10").Value * Kd
    ElseIf TpsChnt.Value = Sheets("Feuil2").Range("f11").Value Then
    Chant = Sheets("Feuil2").Range("g11").Value * Kd
    End If
End If

Je me demande si c'est le fait de sélectionner une valeur parmi d'autres qui ne me feraient pas planter. Si c'est bien ça, ou même si c'est autre chose, quelqu'un saurait-il me guider pour savoir comment réussir ?

Merci d'avance,

Sha'

Bonjour

Si tu joins ton fichier, il sera plus facile de te proposer quelque chose.

Bye !

Salut gmb,

Déjà merci pour ta réponse réactive.

Alors oui, je comprends qu'avec un fichier, ce serait plus facile de m'aider mais étant donné que ce sont des données qui restent confidentielles, je ne peux pas vous donner le fichier même.

Par contre, je viens de faire une version d'essai sans aucunes valeurs réelles. Si ça peut permettre déjà d'aider à trouver le bug au niveau du codage, je ne dis pas non.

Je pense que le bug survient au niveau du codage de l'User "Chant" dans les formules de BtnCalcul_Click

Depuis, ce matin j'ai essayé une nouvelle formule mais ça ne fonctionne pas non plus apparemment :

'Calculer Chant en fonction des données ci-dessus
If chkchnt = True Then
    Set cel = Feuil2.Columns("f").Find(what:=Me.TpsChnt, LookIn:=xlValues, lookat:=xlWhole).Row
    If Not IsError(cel) Then
        Chant = Feuil2.Cells(cel, 7).Value
    Else
        MsgBox "La donnée entrée comme temps de chant n'est pas connue."
    End If
End If

Merci d'avance.

Bonjour

Sans approfondir, je remarque une erreur de frappe dans ton code de l'Initialize.

Tu écris:

If chkchnt = True Then

Or, ton CheckBox s'appelle : " ChkCht "

C'est presque pareil mais la macro ne le comprend pas !

Dis-moi si je dois chercher plus loin...

A te relire.

Bye !

Aaah bien vu !

Et y'avait un deuxième soucis dans mon code, j'avais écris plusieurs fois Sheets("Feuil2") au lieu de Feuil2.

C'est pour cela qu'il ne trouvait pas.

Merci à toi de m'avoir aidé à trouver la subtilité. Maintenant, ça marche du feu de dieu.

Rechercher des sujets similaires à "userform combobox recherchev"