Forum Clubic

[Excel] recherche d une valeur puis bijection

desolé le titre n est pas tres evocateur

j explique ce que je souhaite faire

j ai une plage de cellules , disons B5–>B20 , chaque cellule contient le texte BonjourX (avec X allant de 5 à 20)
donc dans B5 il y a Bonjour5 , dans B6 Bonjour6 …

dans les cellules de la colonne voisine donc la plage C5–>C20 il y a une valeur quelconque

je voudrais pouvoir recuperer la valeur de CX apres avoir fait un test sur BX

par exemple dans une cellule quelconque , disons V40 je met le texte “Bonjour 12”

je voudrais une formule du style :
si V40=C(X)
alors C(X)
sinon repeter le test sur C(X+1)

il devra me donner comme resultat la valeur dans la cellule voisine de la cellule ou il y a le texte “Bonjour12” , soit le valeur de C12

tout ceci dans le but de m eviter la formule a la rallonge =si(V40=C5;C5;si(V40=C6;C6;si(V40=C7…)))))))

voila je suppose que tout ca doit se faire en VBasic mais j y connais pas grand chose

merci d avance

:stuck_out_tongue:
voila une petite fonction qui devrait resoudre ton problème

Function bj(n)
For Each c In Range(“B5:B20”)
If c.Value = n Then bj = Cells(c.Row, c.Column + 1)
Next
End Function

il convient d’aller en outils > macro > viual editor
puis inserer un module
enfin recopier la fonction
après quoi tu pourras ecrire quelque chose du genre =bj(V40) et si dans V40 tu as bonjourX le resultat sera la cellule voisine de l’endroit dans la plage B5 B20 ou se trouve bonjourX
en cas de souci reviens et on verra ça ensemble
:slight_smile:

merci bcp !!
je viens de tout lire rapidos , j ai tout capté
je teste et j te dis ca.

merci encore

Si j’ai bien compris, je crois que la fonction rechercheV est suffisante.
=RECHERCHEV(V40;B5:C20;2;faux)

en effet ca marche merci bcp

merci a tous les 2 , la methode de pierrejean m aura au moins permis de debuter en vb :slight_smile: