Prb de recherche de valeur

Fermé
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009 - 7 juil. 2008 à 12:05
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009 - 8 juil. 2008 à 07:57
Bonjour,

Je suis actuellement confronté à un problème.

J'ai construit une macro composée d'un bouton commande qui ouvre une userform.
Cette userform permet de croiser des valeur en ligne et en colonne d'un tableau excel.

La voici :

Option Explicit 'oblige à déclarer toutes les variales
Private Sub ComboBox1_Change()
Call cherche
End Sub

Sub cherche()
Dim c As Double
Dim l As Double
l = Range("B6:B34").Find(ComboBox1.Value).Row
c = Range("C6:G6").Find(ComboBox2.Value).Column
TextBox1.Value = Cells(l, c).Value

End Sub

Private Sub ComboBox2_Change()
Call cherche
End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub UserForm2_Click()

End Sub

Private Sub UserForm2_Initialize()
Call cherche
End Sub


Private Sub UserForm_Click()

End Sub


Seulement, j'aimerais pouvoir saisir la valeur librement dans la combobox1 (ou la transformer en textbox si besoin), que celle-ci renvoie à la valeur immédiatement inférieure de la liste B6:B34.
Le tout pour obtenir le resultat dans la textbox existante

Exemple : j'ai dans ma liste les valeur 100/110/120
Si je saisie 118, j'aimerais que la valeur retenue soit 110.

Quelqu'un peut-il m'aider ?

Merci d'avance

Anne Sophie

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 juil. 2008 à 13:45
Bonjour

essaies:

l = Application.Match(ComboBox1.Value, Range("B6:B34"), 1) + 5

les variables l et c doivent déclarées en "long" et non en "double"

l est ambigu: s'agit de "i" majucule ou de "L" minuscule?... Evite les variables à 1 lettre; par ex: lig et col sont + lisibles
(on tolère les "une lettre" pour des compteurs de boucles)

Michel
0
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009
7 juil. 2008 à 14:14
Bonjour

Et tout d'abord, merci pour votre réponse.

Je viens de tenter votre manip.
Jai maintenant une erreur de type 13, incompatibilité de type. qu'est-ce que cela signifie ?

Le "I" est en fait un L majuscule que j'avais mis pour ligne. j'ai corrigé en ligne pour plus de clarté.

.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 juil. 2008 à 14:30
j'avais testé avec une valeur de recherche dans une cellule: pas de pb

Difficile de répondre sans voir le contexte:
peut-être:
un combobox n'est pas fait pour saisir; avec un textbox, la valeur renvoyée est du texte

si la valeur renvoyée est du texte, la convertir avec la fonction CLng ou val . Pour savoir, tu fais

test=combobox1.balue et tu regarde le type de test avec un espion (outils-débogage)
0
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009
7 juil. 2008 à 14:35
Je vais tester.

Sinon, comment faire pour vous envoyer la feuille sur laquelle je souhaite faire la manip ?

Ce serait plus simple, mais je n'ai pas trouver comment joindre un fichier
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 juil. 2008 à 14:42
pour joindre une feuille:

www.cjoint.com

Je m'absente un bon moment cet aprèm mais peut-être que qqn d'autre pourra résoudre le pb
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009
7 juil. 2008 à 15:02
https://www.cjoint.com/?hho730wRDj

Voici le lien

Encore merci et bon après midi si vous n'arrivez pas à jeter un coup d'oeuil d'ici là.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 juil. 2008 à 18:14
Re,

Je viens de jeter un oeil rapidement;

L'utilisation de VBA est elle obligatoire?en effet, apparament, le pb peut se résoudre par des formules.

Michel
0
sousleau12 Messages postés 19 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 28 octobre 2009
8 juil. 2008 à 07:57
Bonjour

En fait, l'utilisation du VBA n'est pas obligatoire (je l'ai fait avec des formules). C'est juste par curiosité de savoir comment on pourrait faire avec du VBA. Je débute et suis pleine d'entrain pour apprendre.

Voilà la raison.

Encore merci d'avoir jeter un coup d'oeil. et si vous avez une solution qui marche..... ou pouvez me dire comment résoudre l'erreur 13, je suis preneuse

Bonne journée
0