Mise en forme

Fermé
vincent - 3 juil. 2020 à 11:53
 Utilisateur anonyme - 3 juil. 2020 à 15:10
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

Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
Modifié le 3 juil. 2020 à 12:07
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
Utilisateur anonyme
3 juil. 2020 à 12:22
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
Merci beaucoup, mais pas d'autre façon qu'une macro ?
0
Utilisateur anonyme > vincent
3 juil. 2020 à 14:19
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
Utilisateur anonyme > Utilisateur anonyme
3 juil. 2020 à 14:21
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
Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
3 juil. 2020 à 14:58
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
Utilisateur anonyme
3 juil. 2020 à 15:10
Bonjour Yoyo01000
J'adore ton "déconcatenes" :-) :-)
A+
0