Recherche et formatage auto d'un mot dans une cellule

Résolu
Bonjour,

J'ai un gros tableau avec des cellules contenant des resumes de texte.
Je voudrais savoir, pour aller plus vite dans mes recherches, comment mettre en rouge (ou en avant d'une quelconque facon) le mot que je recherche dans tous les textes. (toujours le meme mot).
Merci d'avance pour votre aide,
Joachim

12 réponses

  1. Bonjour
    c'est possible en apliquant une mise en forme conditionnelle -> appliquer une mise en forme uniquement aux cellules qui contiennent :
    texte specifique - contenant - *le mot recherché* et choisir le format
    puis etendre cette MFC à toutes les cellules dans gerer la regle -> s'applique à
    0
    1. Bonjour,
      merci pour votre reponse mais moi je ne veux mettre en avant que le mot dans la cellule, pas toute la cellule, c'est pour ca que je suis bloque ... :/
      Merci !
      0
      1. bonjour
        une petite macro a adapter a tes besoins
        elle fait ce que tu demandes dans la colone D sur les lignes 1 a 40 :
        pour la lancer doubleclic dans la cellule A1

        Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim mot, a, b As String
        Dim l, lmot, deb, t As Integer
        If ActiveCell.Address = "$A$1" Then
        mot = InputBox("mot recherché")
        lmot = Len(mot)
        For i = 1 To 40
        l = Len(Cells(i, 4))
        For j = 1 To l
        For k = 1 To lmot
        If Left(mot, k) = Mid(Cells(i, 4), j, k) Then
        t = t + 1
        Else
        t = 0
        Exit For
        End If
        Next k
        If t = lmot Then
        deb = j
        Cells(i, 4).Select
        With ActiveCell.Characters(Start:=deb, Length:=lmot).Font
        .Color = -16776961
        End With
        End If
        Next j
        Next i
        End If
        End Sub

        Ce que l'on conçoit bien s'énonce clairement,
        Et les mots pour le dire arrivent aisément.
        1
        1. Bonjour et merci beaucoup pour l'aide mais je n'arrive pas a la faire fonctionner ...
          j ai pris des tutos sur le net mais j obtiens le message d erreur: "compile error : expected end sub".
          comment dois je m y prendre ? merci d avance !
          0
          1. Bonjour
            ouvir l'editeur VBA (alt+F11), double clic sur feuil1 sous l'arborescence VBAproject(non du fichier). Puis copie de toute la macro dans la fenetre a doite et ferme avec la croix rouge
            tu peux ensuite lancer le prgm en doublecliquant sur la cellule A1.
            Il faudra sans doute l'adapter a ton fichier car la recherche ne se fait que dans la colone D des lignes 1 a 40.

            Ce que l'on conçoit bien s'énonce clairement,
            Et les mots pour le dire arrivent aisément.
            0
            1. Merci beaucoup mais j ai beau faire ce que tu dis j arrive pas a la faire fonctionner ...
              je te mets le fichier ici : http://cjoint.com/?DAvnABaUwL9

              ci ca ne te derange d essayer, j ai essaye de parametrer la macro en cherchant et en mettant en valeur le mot "rye" dans la deuxieme et troisieme colonne ... sans succes !
              Je te remercie beaucoup pour ton aide !
              0
              1. ok je regarde çà et je te reponds mais demain car je ne peut pas avant
                0
                1. Contributeur
                  Bonjour,
                  Excusez l'incruste

                  recherche le mot "docteur" de B1 à B100 avec une macro paramétrée

                  Option Explicit
                  '-------------------------------------------------
                  Sub test()
                  Dim lig As Byte
                  Application.ScreenUpdating = False
                  For lig = 1 To 100
                  Colorier_mot "docteur", Cells(lig, "B")
                  Next
                  End Sub
                  '--------------------------------------------------
                  Sub Colorier_mot(mot, texte)
                  Dim longueur As Byte, debut As Byte
                  longueur = Len(mot)
                  If longueur > 0 Then
                  debut = InStr(1, texte, mot)
                  texte.Characters(debut, longueur).Font.ColorIndex = 3
                  End If
                  End Sub

                  Michel
                  0
                  1. bonjour Michel
                    ne t'excuse pas pour l'incruste. Il y a toujours moyen de faire mieux et çà me permet d'apprendre en même temps. Mais pour cette fois je suis resté sur mon code un peu rustique mais cà fonctionne...
                    0
                2. bonsoir,
                  j'ai pu avoir un peu de temps
                  voici ton fichier

                  https://www.cjoint.com/?3Avsmp3GUnj

                  Quand tu doubleclic sur A1 (uniquement cette cellule), la macro recherche le mot que tu souhaites dans les colonnes A, B, et C sur toutes les lignes. elle ne tient pas compte des majuscules (pour avoir tout les mots).
                  Ils sont affichés en rouge et en gras. A la fin, tu as le nombre de mot trouvé.
                  Par contre j'ai remarqué que les hauteurs de lignes sont au maxi et il y a du texte non affiché tellement il y en a. il y a parfois des mots trouvés dans cette partie qui est caché.
                  vu la taille du fichier çà prend un peu de temps
                  en esperant avoir repondu a tes besoins.
                  pense a mettre en resolu si c'est ok
                  Ce que l'on conçoit bien s'énonce clairement,
                  Et les mots pour le dire arrivent aisément.
                  0
                  1. Merci à vous deux pour votre aide, effectivement ça fonctionne à merveille !!!
                    Merci beaucoup, je vais aller beaucoup plus vite dans la lecture du doc vu que le mot qui m'intéresse saute direct aux yeux !
                    Merci mille fois !

                    PS : je vois pas comment mettre résolu ... il faut avoir un compte enregistré pour pouvoir éditer le premier message non ?
                    0
                    1. Bonjour
                      normalement, en dessous du titre et de ton pseudo, il y a suivre - marqué comme resolu. tu cliques simplement dessus
                      0