Mise en forme

Bonjour à tous,

J'ai plusieurs cellules Excel qui contiennent un texte différent mais aussi avec un même nom, par ex Dupont.
ex cellule A1 : Paris Dupont
cellule A2 : Lille Dupont
cellule A3 : Lyon Dupont
Je souhaiterais mettre en rouge le mot Dupont pour les 3 cellules en même temps, mais je n'y arrive pas.
En vous remerciant d'avance pour votre aide précieuse.
Vincent

3 réponses

  1. Bonjour,
    pour moi, c'est impossible d'appliquer une MFC seulement pour une partie de texte dans la même cellule. C'est soit tout, soit rien !

    Il y a peut-être une solution (VBA ?) qu'un autre membre pourra t'apporter...
    1
    1. Bonjour
      Avec une macro VBA (pas de moi !!, merci myDearFriend!)

      Ouvrir le module Macro (Alt + F11)
      Double click sur la Feuille, puis coller dans la partie droite et Enregistrer.

      Option Explicit

      Sub Traitement()
      'myDearFriend! - www.mdf-xlpages.com
      Dim Plage As Range, Cel As Range
      Dim LeMot As String, AdrDeb As String

      'A adapter en fonction du mot voulu ----------
      'Et de la Plage voulue -----------------------
      Set Plage = Sheets("Feuil1").Range("A1:Z2000")
      LeMot = "Dupont"
      ' --------------------------------------------

      With Plage
      Set Cel = .Find(LeMot, LookAt:=xlPart)
      If Not Cel Is Nothing Then
      AdrDeb = Cel.Address
      Do
      Modif Cel, LeMot
      Set Cel = .FindNext(Cel)
      Loop While Not Cel Is Nothing And AdrDeb <> Cel.Address
      End If
      End With
      End Sub

      Private Sub Modif(ByRef Cel As Range, LeMot)
      Dim T As String
      Dim Pos As Integer
      T = Cel.Text
      Do
      'Respecte la casse Majuscule/Minuscule -------
      Pos = InStr(Pos + 1, T, LeMot)
      ' Ne tient pas compte des Majuscule/Minuscule-
      ' Pos = InStr(Pos + 1, T, LeMot[B], vbTextCompare[/B])
      ' --------------------------------------------
      If Pos > 0 Then
      With Cel.Characters(Start:=Pos, Length:=Len(LeMot)).Font
      .FontStyle = "Gras"
      .ColorIndex = 3 'rouge
      End With
      End If
      Loop Until Pos = 0
      End Sub


      Bien enregistrer en Classeur avec macro (xlsm)
      A+
      1
      1. Merci beaucoup, mais pas d'autre façon qu'une macro ?
        0
      2. @vincentBonjour
        Non, à part manuellement en sélectionnant dans la zone de saisie le texte à changer, cellule par cellule.
        Les mises en forme conditionnelles ne fonctionnent que sur la totalité du contenu de cellule...
        C'est un tableur, pas un traitement de texte !! Il fait déjà une tonne de chose.
        A+
        0
      3. @Utilisateur anonymeAprès pourquoi pas "gâcher" une colonne et saisir le Nom dans la colonne d'à coté !!
        C'est peut être votre méthode qui est à revoir (peut être, je connais pas votre activité sur ce document). :-)
        A+
        0
    2. Il n'y a que VBA étant capable d'apporter une solution autonome.

      Maintenant, plusieurs possibilités :
      Soit tu intègres cette macro en suivant la procédure de macintosh
      Soit tu le fais manuellement
      Soit tu "déconcatenes"

      à toi de voir ;)
      1
      1. Bonjour Yoyo01000
        J'adore ton "déconcatenes" :-) :-)
        A+
        0