Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

problème de couleur avec remplacer par

  • Initiateur de la discussion Initiateur de la discussion ngarnier54
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

ngarnier54

Guest
Bonjour,

j 'ai un petit problème avec la fonction remplacer par.
je voudrais remplacer mon C par un cœur de couleur rouge
mais quand il fait le remplacement c'est toute la cellule qu il met en rouge et pas seulement mon C

ex 2C devient 2Coeur
alors que je voudrais 2Coeur

Merci de votre aide
 
Re : problème de couleur avec remplacer par

Bonjour,

Voici une solution, mais je ne connais pas comment afficher un coeur dans ta cellule, sinon pour le reste... c'est ok

Private Sub Worksheet_Change(ByVal Target As Range)
premiere = Left(Target.Value, 1)
deuxieme = Right(Target.Value, 1)
If deuxieme = "C" Or deuxieme = "c" Then
deuxieme = "Coeur" 'à la place de coeur, tu mets le symbole du coeur
Application.EnableEvents = False
Target.Value = premiere & deuxieme
Application.EnableEvents = True
With Target.Characters(Start:=2, Length:=Len(Target.Value) - 1).Font
.Color = 255
End With
End If
End Sub

Bien à toi.

John
 
Re : problème de couleur avec remplacer par

merci de ta réponse
mais je voulais simplement le faire sans code juste ctrl + h dans Excel

et la mon 2C devient 2Coeur il change toute la chaîne de la zone en rouge !
 
Re : problème de couleur avec remplacer par

Re,

Sans code là je sais pas t'aider 🙁
Désolé...
Il y a sûrement des experts ici sans code, mais pas mon cas 🙁

BàT.

John
 
Re : problème de couleur avec remplacer par

Bonjour à tous,

une autre approche... mais aussi en vba.... remplace tous les C saisie dans la cellule par des coeurs rouges...

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
If Target.Count > 1 Then Exit Sub
i = InStr(Target, "C")
Do While i > 0
    On Error GoTo fin
    Application.EnableEvents = False
    With Target.Characters(i, 1)
        .Text = Chr(169)
        With .Font
            .Name = "Symbol"
            .ColorIndex = 3
        End With
    End With
    i = InStr(Target, "C")
Loop
fin:
Application.EnableEvents = True
End Sub

bonne journée
@+
 
Re : problème de couleur avec remplacer par

merci

j'ai une question (de débutant en macro) j'essaye d’exécuter ton code
je clique sur macro
je rentre le nom de ma macro 'essai'

je remplace sub essai et endsub
par ton code

je ferme vb macro, et quand je clique de nouveau sur macro il y a plus rien !!

Why merci
 
Re : problème de couleur avec remplacer par

Re,

c'est une procédure événementielle, il faut la placer dans le module de la feuille, click droit sur l'onglet => visualiser le code => tu colles.... elles se déclenche automatiquement dès l'instant ou il y a modification d'une cellule....

bon après midi
@+
 
Re : problème de couleur avec remplacer par

merci ça marche

j'ai plus qu'a ajouter les tréflés,carreau et pique et j'aurai ce que je veux

merci pour vos reponces
 
Re : problème de couleur avec remplacer par

Merci çà marche super bien voici mon code
j ai encore une requête (je sais j 'abuse)
est t il possible de faire le remplacement sur !C par un cœur
cela évitera de changer des les mots avec un c majuscule


merci




Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
If Target.Count > 1 Then Exit Sub
i = InStr(Target, "C")
Do While i > 0
On Error GoTo fin
Application.EnableEvents = False
With Target.Characters(i, 1)
.Text = Chr(169)
With .Font
.Name = "Symbol"
.ColorIndex = 3
End With
End With
i = InStr(Target, "C")
Loop

i = InStr(Target, "T")
Do While i > 0
On Error GoTo fin
Application.EnableEvents = False
With Target.Characters(i, 1)
.Text = Chr(167)
With .Font
.Name = "Symbol"
.ColorIndex = 1
End With
End With
i = InStr(Target, "T")
Loop

i = InStr(Target, "K")
Do While i > 0
On Error GoTo fin
Application.EnableEvents = False
With Target.Characters(i, 1)
.Text = Chr(168)
With .Font
.Name = "Symbol"
.ColorIndex = 3
End With
End With
i = InStr(Target, "K")
Loop

i = InStr(Target, "P")
Do While i > 0
On Error GoTo fin
Application.EnableEvents = False
With Target.Characters(i, 1)
.Text = Chr(170)
With .Font
.Name = "Symbol"
.ColorIndex = 1
End With
End With
i = InStr(Target, "P")
Loop

fin:
Application.EnableEvents = True
End Sub
 
Re : problème de couleur avec remplacer par

Re,

est t il possible de faire le remplacement sur !C par un cœur

modifie comme suit :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Byte
If Target.Count > 1 Then Exit Sub
i = InStr(Target, "!C")
Do While i > 0
    On Error GoTo fin
    Application.EnableEvents = False
    With Target.Characters(i, 2)
        .Text = Chr(169)
        With .Font
            .Name = "Symbol"
            .ColorIndex = 3
        End With
    End With
    i = InStr(Target, "!C")
Loop
fin:
Application.EnableEvents = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 couleur et ligne
Réponses
6
Affichages
293
  • Question Question
Réponses
12
Affichages
522
Réponses
4
Affichages
190
Réponses
5
Affichages
665
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…