Mise en forme conditionnelle + recherche V

Bonjour à tous,

Je demande votre aide sur un sujet qui me tient depuis un petit moment.

Je chercherais le moyen, par maccro ou non, d'allier la recherche verticale et la mise en forme conditionnelle.

Je m'explique :

  • Tout d'abord, j'ai un tableau avec 2 feuilles.
  • Dans la deuxième feuille j'ai des valeurs disséminées au hasard sur une certaine plage de données (Ici A1:F9).
  • Je souhaiterais qu'une recherche verticale soit faite par rapport à ces valeurs dans la feuille 1.
  • Si la colonne "nom" contient le chiffre contenu dans telle cellule de la plage de la feuille 2, aller chercher la valeur de la colonne "état".
  • Si cette valeur correspond à "validé", mettre la cellule correspondante sur la feuille 2 en vert, "vu avec remarques" en jaune et "non vu" et "non identifié" en rouge.
  • Et enfin, si la cellule de la feuille 2 n'a pas de valeur, rester en blanc ou alors ne pas faire la recherche.

Voilà j'espère avoir été assez clair.

Je reste à votre disposition pour tout renseignement complémentaire,

Vous remerciant par avance,

Bebon

Re-bonjour,

Voilà, donc j'ai cherché un peu de mon côté et je n'ai pas trouvé mon bonheur avec les MFC.

Je me suis donc recentré sur VB et j'ai codé ce qui suit.

Sub test()

Dim TestrechercheVmiseenformeconditionnelle As Workbook
Set TestrechercheVmiseenformeconditionnelle = ThisWorkbook

Dim c As Range
For Each c In Sheets("Feuil2").Range("A1:E9")
    Sheets("Feuil1").Columns("A:A").Select
    Selection.Find(What:=c.Values, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Select
    ActiveCell.Offset(0, 1).Select
    If ActiveCell.Value = "validé" Then
    c.FormatConditions.Interior.ColorIndex = 4
    Else
        If ActiveCell.Value = "vu avec remarques" Then
        c.FormatConditions.Interior.ColorIndex = 6
        Else
            If ActiveCell.Value = "non vu" Or "non identifié" Then
            c.FormatConditions.Interior.ColorIndex = 6
            Else
            c.FormatConditions.Interior.ColorIndex = 2
            End If
        End If
    End If
Next c

End Sub

Le code bloque au niveau de la recherche et je ne comprend pas pourquoi ^^.

J'espère que vous arriverez à trouver la réponse à ce petit problème.

Vous remerciant par avance,

Je pense que ton problème peut se résoudre simplement avec en effet, la rechercheV et la mise en forme conditionnelle.

Pour les rechercheV ou H, il te faut un tableau, et non pas que tes données soient déssiminées dans une feuille.

Je t'invite à revoir ta feuille 2 de façon à ce qu'il ressemble à un tableau, avec tes correspondances, type 1=bien, 2=mal...

Ensuite, dans tes cellules, tu mets ta formule rechercheV, et tu appliques ta mise en forme conditionnelle sur tes cellules résultats.

Qu'en penses-tu ?

Papysg bonjour,

Ton idée n'est pas mauvaise mais je me heurte à plusieurs problèmes.

Tout d'abord, ce que je vous ai transmis n'est que la partie visible de l'iceberg. En effet, les données en vrac dans la feuil2 sont issues d'un autre tableau avec aucune possibilité de remettre en forme pour les condenser en un tableau, c'est pour cela que je suis parti sur la méthode "for each c".

Le deuxième problème est que finalement la rechercheV ne fonctionne pas vu que les données à rechercher (1, 2, 3 et 4) ne sont pas en début de cellule dans la colonne A de la Feuil1.

Voilà donc si quelqu'un a une idée par rapport au code que j'ai déjà élaboré, ce serait parfait ^^.

En tout cas je te remercie pour ta réponse,

Cordialement,

Bonjour,

un rechercheV recherche par défaut de gauche à droite et c'est son plus grand défaut; remplace là par index/equiv

ex:

recherchev(C1;table;2;0)

cherche le contenu de C1 dans une zone nommée table et ramène la donnée de la 2e colonne de cette table

ou bien :

index(donnee_à_ramener;equiv(C1;zone_ou_devrait_se_trouver_C1;0))

l'idéal indispensable plutôt étant que les colonnes soient contigues , vaec un titre distinct et nommées par CTRL* et CTRL-Shift-F3

index/equi recherche à gauche comme à droite , mais rechercheV plus difficilement

et si tu mettais un exmple plus proche de ton vrai fichier ? quitte à rendre les données anonymes , ça serait plus facile pour tous

Bonjour Patrick,

Je te remercie pour ta réponse mais malheureusement cela ne permet pas de résoudre mon petit problème.

Et je suis désolé le fichier transmis est le seul que je puisse vous transmettre, même si je rends les données anonymes.

Il permet cependant de bien cerner le problème je trouve.

Cordialement,

Rechercher des sujets similaires à "mise forme conditionnelle recherche"