Changer la couleur des caractères compris entre 2 chaînes de caractères sur une ligne dans Excel 2007 avec une Macro
Bonjour à tous!
Dans Excel 2007, j’ai une liste de phrases.
Dans la colonne A, j’ai plus de 3000 lignes où j’ai des phrases d’écrites.
Le texte est écrit en noir. Les lettres comprissent entre les chaînes de caractères «{{c1::» et «}}» doivent devenir de couleur rouge. Vous pouvez observer en dessous un exemple de ce que je souhaiterais réussir à faire.
Texte de départ
I {{c1::am}} 20 (years old), I{{c1::‘m}} 1 m 78 and I{{c1::‘m}} 72 kilos.
This room {{c1::is}} 3 metres long. Do you know this?
How {{c1::are}} you? I {{c1::am very happy}} and fine.
{{c1::There’s}} a fly in my soup.
↓
Résultat à obtenir
I {{c1::am}} 20 (years old), I{{c1::‘m}} 1 m 78 and I{{c1::‘m}} 72 kilos.
This room {{c1::is}} 3 metres long. Do you know this?
How {{c1::are}} you? I {{c1::am very happy}} and fine.
{{c1::There’s}} a fly in my soup.
J’ai joint un fichier Excel avec le contenu de cet exemple. C’est seulement un petit échantillon des 3000 lignes à traiter.
J’aimerais avoir une Macro dans Excel 2007 pour procéder au changement de couleur automatiquement.
J’ai commencé à programmer. Vous pouvez voir, à la suite de ce message, le peu que j’ai réussi à faire. Je n'arrive pas à trouver comment dire au programme d’appliquer la couleur jusqu’à «}}».
S’il vous plaît, si possible, ajoutez des commentaires au travers des lignes de programmations. Je veux vraiment pouvoir comprendre au maximum et apprendre comment ça fonctionne et pouvoir un jour réussi à programmer par moi-même.
Merci beaucoup de prendre le temps de m’aider, parce que pour moi, c’est vraiment difficile et je n’arrive pas à trouver la solution.
Excel12
-----------------------------------------------
Sub Trou_écrire_couleur()
'
' Trou_écrire_couleur Macro
' Vérifie chaque ligne. Tout le contenu à l'intérieur des accolades doit devenir rouge. {{c1::}}
'
Dim DernLigne As Long
Dim i As Integer
DernLigne = Range("A" & Rows.Count).End(xlUp).Row 'Cherche la dernière ligne rempli depuis la colonne A
For i = 1 To DernLigne 'boucle de la ligne 1 à la dernière ligne
If InStr(Range("A" & i), "{{c1::") > 0 Then
With Application.ReplaceFormat.Font
.Subscript = False
.Color = 255
.TintAndShade = 0
End With
End If
Next i
End Sub
Bonjour à tous!
Dans Excel 2007, j’ai une liste de phrases.
Dans la colonne A, j’ai plus de 3000 lignes où j’ai des phrases d’écrites.
Le texte est écrit en noir. Les lettres comprissent entre les chaînes de caractères «{{c1::» et «}}» doivent devenir de couleur rouge. Vous pouvez observer en dessous un exemple de ce que je souhaiterais réussir à faire.
Texte de départ
I {{c1::am}} 20 (years old), I{{c1::‘m}} 1 m 78 and I{{c1::‘m}} 72 kilos.
This room {{c1::is}} 3 metres long. Do you know this?
How {{c1::are}} you? I {{c1::am very happy}} and fine.
{{c1::There’s}} a fly in my soup.
↓
Résultat à obtenir
I {{c1::am}} 20 (years old), I{{c1::‘m}} 1 m 78 and I{{c1::‘m}} 72 kilos.
This room {{c1::is}} 3 metres long. Do you know this?
How {{c1::are}} you? I {{c1::am very happy}} and fine.
{{c1::There’s}} a fly in my soup.
J’ai joint un fichier Excel avec le contenu de cet exemple. C’est seulement un petit échantillon des 3000 lignes à traiter.
J’aimerais avoir une Macro dans Excel 2007 pour procéder au changement de couleur automatiquement.
J’ai commencé à programmer. Vous pouvez voir, à la suite de ce message, le peu que j’ai réussi à faire. Je n'arrive pas à trouver comment dire au programme d’appliquer la couleur jusqu’à «}}».
S’il vous plaît, si possible, ajoutez des commentaires au travers des lignes de programmations. Je veux vraiment pouvoir comprendre au maximum et apprendre comment ça fonctionne et pouvoir un jour réussi à programmer par moi-même.
Merci beaucoup de prendre le temps de m’aider, parce que pour moi, c’est vraiment difficile et je n’arrive pas à trouver la solution.
Excel12
-----------------------------------------------
Sub Trou_écrire_couleur()
'
' Trou_écrire_couleur Macro
' Vérifie chaque ligne. Tout le contenu à l'intérieur des accolades doit devenir rouge. {{c1::}}
'
Dim DernLigne As Long
Dim i As Integer
DernLigne = Range("A" & Rows.Count).End(xlUp).Row 'Cherche la dernière ligne rempli depuis la colonne A
For i = 1 To DernLigne 'boucle de la ligne 1 à la dernière ligne
If InStr(Range("A" & i), "{{c1::") > 0 Then
With Application.ReplaceFormat.Font
.Subscript = False
.Color = 255
.TintAndShade = 0
End With
End If
Next i
End Sub