MFC, contient text, range

Bonjour a tous (et a toutes),

Je n'arrive pas a trouver la solution a mon probleme malgre sa simplicite apparante :

Je voudrais faire une MFC "contient texte" et selectionner plusieurs cellules de textes comme reference. Pour mieux visualiser :

J'ai une colonne de cellules contenants plusieurs codes :

A1

"400-05-05

400-06-05

400-07-05

400-08-05"

A2

"400-09-05

400-10-05

400-11-05"

A3

400-09-04

Et une colonne listant des codes "critiques" :

B1

400-09-04

B2

400-09-05

B3

400-14-03

Je souhaiterais mettre en forme les cellules contenant un ou plusieurs codes critiques. La MFC ne permet malheureusement pas de selectionner plusieurs lignes de codes critiques et il faudrait donc faire une MFC par code (et j'en ai plus de 150 ...)

Je ne verrais pas d'inconvenient a creer une colonne supplementaire si quelqu'un propose un Vlookup (que je n'ai pas reussi a faire), colonne que je cacherai par la suite.

En vous remerciant par avance de votre precieuse aide , n'hesitez pas a demander si vous avez besoin de plus d'informations !

Maxime

Bonjour,

Un fichier joint nous permettrait de te répondre plus efficacement...

Cordialement,

Daniel

Bonjour Daniel,

Merci pour ton interet porte a ma question. Voici un petit exemple :

18exemple.xlsx (9.38 Ko)

Cordialement,

Maxime

Une suggestion en PJ

Cordialement,

Daniel

23maximeleu.xlsx (9.64 Ko)

Bonjour,

Essai avec une fonction personnalisée, à utiliser en MFC :

Function CCRITIC(codes As String, critic As Range) As Boolean
    Dim cdm, i%, c As Range
    Application.Volatile
    cdm = Split(codes, Chr(10))
    For Each c In critic.Cells
        If Trim(c.Value) <> "" Then
            For i = 0 To UBound(cdm)
                If Trim(cdm(i)) = Trim(c.Value) Then
                    CCRITIC = True
                    Exit Function
                End If
            Next i
        End If
    Next c
    CCRITIC = False
End Function

NB- codes représente les codes à tester (réf. de la cellule contenant un code ou plusieurs séparés par des retours à la ligne) ; critic représente une plage de cellules contenant des codes critiques (un seul code par cellule dans ce cas, si des cellules vides sont comprises dans la plage, elles seront ignorées).

La fonction renvoie VRAI dès que l'un des codes testés figurent parmi les codes critiques (FAUX si aucun n'y figure).

Cordialement

Ferrand

Bonjour a tous les deux, et merci pour vous reponses.

MFerrand, merci pour ta solution elle marche bien !

J'ai plus de 400 cellules a vérifier et plus de 150 "codes critiques" donc ca fait 400*150 verifications, ca fait bien ramer l'ordi !

J'ai pas compris pourquoi, en créant la régle MFC, on applique la fonction CCRITIC a une string et non une range, mais bon en étirant la MFC ca marche. Mais bon je suis content du resultats, merci encore.

Maxime

Bonjour,

Pour être logique, j'aurais dû définir le second argument en termes de contenus, comme le premier (donc tableau de chaînes, mais la suite était plus facile sous cette forme... La définition du premier constitue un filtre "naturel" au cas où on ne lui fournit pas une chaîne...

Cordialement

Rechercher des sujets similaires à "mfc contient text range"