XL pour MAC Fonction recherche V avec contient

  • Initiateur de la discussion Initiateur de la discussion foxden2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

foxden2

XLDnaute Junior
Bonjour,

J'aimerais pouvoir renvoyer une valeur "colonne taux" d'un tableau (tableau 1) si une cellule (tableau 2) contient un terme présent dans le tableau de référence.
Je cherche la formule qui me permet en fonction de la présence d'une chaine de caractère d'aller chercher une valeur dans un tableau de référence.

Fichier excel en PJ

Tableau 1 de référenceTaux
Ananas
20%​
Poire
20%​
Pomme
10%​
Fraise
0%​
Myrtille
10%​
Tableau 2Taux cible
Je veux un ananas -> valeur a afficher par formule 20%
J'ai une poire blanche-> 20%
Un panier de fraise rouge-> 0%

Fichier plus parlant en PJ
 

Pièces jointes

Bonjour Foxden,
En PJ un essai avec la fonction perso :
VB:
Function PourCent(Phrase$, Tableau As Range, Valeur As Range)
    Dim T, Tablo, Val, i%, j%
    T = Split(Phrase, " ")
    Tablo = Tableau
    Val = Valeur
    For i = 0 To UBound(T)
        For j = 1 To UBound(Tablo)
            If LCase(T(i)) = LCase(Tablo(j, 1)) Then
                PourCent = Val(j, 1)
                Exit Function
            End If
        Next j
    Next i
    PourCent = ""
End Function
La syntaxe est :
Code:
=PourCent(Phrase;Liste fruits;Liste taux)
 

Pièces jointes

Bonjour Foxden,
En PJ un essai avec la fonction perso :
VB:
Function PourCent(Phrase$, Tableau As Range, Valeur As Range)
    Dim T, Tablo, Val, i%, j%
    T = Split(Phrase, " ")
    Tablo = Tableau
    Val = Valeur
    For i = 0 To UBound(T)
        For j = 1 To UBound(Tablo)
            If LCase(T(i)) = LCase(Tablo(j, 1)) Then
                PourCent = Val(j, 1)
                Exit Function
            End If
        Next j
    Next i
    PourCent = ""
End Function
La syntaxe est :
Code:
=PourCent(Phrase;Liste fruits;Liste taux)
Merci beaucoup !
Vous avez une idée juste en version formule sans VBA ce que ca pourrait donner ?
 
Salut sylvanu !

Je me suis permis de piquer ton exemple c'est magnifique ! Merci beaucoup !

je souhaites m'en servir sur la compta afin d'affecter au bon compte selon le libellé .

Seulement cela ne fonctionne pas sur 2 mots pouvez m'aider svp?

je vous joint l'exemple ,il pourrais y avoir plus de 300 valeurs a affecter...

Bonne journée !
 

Pièces jointes

Bonjour Cyril,
Je me suis permis de piquer ton exemple
C'est fait pour ça : Partager. 🙂
Le contexte est différent, aussi en PJ j'ai ré écrit la fonction :
VB:
Function PourCent(Phrase$, Tableau As Range, Valeur As Range)
    Dim T, Tablo, Val, i%
    Tablo = Tableau: T = Valeur
    For i = 1 To UBound(Tablo)
        If InStr(1, LCase(Phrase), LCase(Tablo(i, 1))) > 0 Then
            PourCent = T(i, 1)
            Exit Function
        End If
    Next i
    PourCent = ""
End Function
Même syntaxe que précédemment.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
214
Réponses
9
Affichages
846
Réponses
20
Affichages
714
Réponses
1
Affichages
773
Réponses
36
Affichages
3 K
Retour