Mise en forme

vincent -  
 Utilisateur anonyme -
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. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    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
  2. Utilisateur anonyme
     
    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. vincent
       
      Merci beaucoup, mais pas d'autre façon qu'une macro ?
      0
      1. Utilisateur anonyme > vincent
         
        Bonjour
        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
      2. Utilisateur anonyme > Utilisateur anonyme
         
        Aprè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
  3. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
     
    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. Utilisateur anonyme
       
      Bonjour Yoyo01000
      J'adore ton "déconcatenes" :-) :-)
      A+
      0