Recherche mot d'une chaine de caractère dans une liste

Bonjour, je sollicite votre aide car j'ai un peu de mal à trouver la formule/maccro qui correspond à mes attentes.

  • Soit en colonne A une liste de cépage et en Colonne B la couleur qui correspond.
  • En C, une liste d'appellation avec parfois le nom du cépage

je cherche donc a mettre sur la colonne D : Si appellation contient cépage dans la liste, mettre couleur qui correspond.

J'ai joint un fichier pour exemple.

Dans l'attente, je vous remercie d'avoir pris le temps de lire mon post. Cordialement.

56cepageexemple.zip (8.13 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

158cepageexemple-v1.zip (21.60 Ko)

bonsoir

un essai avec une matricielle 'tridactyle '

150xzed.xlsx (10.83 Ko)

cordialement

Royal, merci beaucoup pour les 2 exemples, maintenant il me reste plus qu'à comprendre comment ça fonctionne

Je reviens vers vous car j'ai un problème pour la maccro, en effet c'est sensible à la casse et dans ma liste d'appellation j'ai des MAJ et du coup ça ne fonctionne plus (je joint le fichier avec la liste complète ça sera plus simple) De même que pour la formule, si FAUX j'ai quand même une couleur. D'avance, merci !

54cepageexemple.zip (32.60 Ko)

Bonjour,

En reprenant la macro de gmb et en ajoutant la fonction LCase

Remplace la macro par celle-ci

Option Explicit

Dim tabloA, tabloC, tabloD()
Dim i&, ln&

Sub Couleur()
    tabloA = Range("A2:B" & Range("A" & 65536).End(xlUp).Row)
    tabloC = Range("C2:C" & Range("C" & 65536).End(xlUp).Row)
    ReDim tabloD(UBound(tabloC, 1), 1)

    For i = 1 To UBound(tabloC, 1)
        For ln = 1 To UBound(tabloA, 1)
            If LCase(tabloC(i, 1)) Like "*" & LCase(tabloA(ln, 1)) & "*" Then
                tabloD(i - 1, 0) = tabloA(ln, 2)

            End If
        Next ln
    Next i
    Range("D2").Resize(UBound(tabloD, 1)) = tabloD
    Erase tabloD
End Sub

Fonctionne parfaitement, merci beaucoup !

Rechercher des sujets similaires à "recherche mot chaine caractere liste"