Autres Changer la couleur des polices de caractères avec une macro dans Excel 2007

excel12

XLDnaute Nouveau
Changer la couleur des polices de caractères avec une macro dans Excel 2007

Bonjour!

Dans Excel 2007, j’ai une liste de plus de 3000 phrases dans la colonne A. Je souhaite avoir une macro qui puisse changer la couleur des polices de caractères. Si la couleur est différente de rouge, alors la couleur du caractère doit devenir bleue.

J’ai joint un fichier Excel. J’ai mis un échantillon des phrases à traiter. Pour les lignes 15 à 18, la macro fonctionne. J’avais directement écrire ces mots dans le fichier Excel et j’avais changé les couleurs pour tester.

Pour les lignes 1 à 14, la macro ne fonctionne pas. Ces phrases proviennent d’un copier-coller de Word à Excel. C’est la seule différence entre les phrases où les caractères ont changé de couleur et ceux qui n’ont pas changé de couleur.

Voici le code que j’ai utilisé :

VB:
Sub Changer_couleur()
    Dim r As Range
        For Each r In Range("A1:A" & Range("A1").CurrentRegion.Rows.Count)
            If r.Characters.Font.Color <> vbRed Then
                r.Characters.Font.Color = vbBlue
            End If
        Next r
End Sub

Merci pour votre aide!

Excel12
 

Pièces jointes

  • Changer_couleur.xlsm
    18.9 KB · Affichages: 5

_Thierry

XLDnaute Barbatruc
Bonsoir ou bonjour @excel12 , le Forum

J'essaierais comme ceci :

VB:
Sub Changer_couleur()
  Dim r As Range
  Dim i As Integer
   For Each r In Range("A1:A" & Range("A1").CurrentRegion.Rows.Count)
            For i = 1 To Len(r.Value)
                If r.Characters(Start:=i, Length:=1).Font.Color <> vbRed Then
                    r.Characters(Start:=i, Length:=1).Font.Color = vbBlue
                End If
            Next
  Next r
End Sub

Bien à toi, à vous
@+Thierry
 

excel12

XLDnaute Nouveau
Bonsoir Thierry,

Merci d’avoir pris le temps d’observer mon problème. J’ai testé le code que vous m’avez envoyé.

Votre code a fonctionné pour les 6 premières lignes, mais ensuite, j’ai obtenu le code d’erreur suivant : «
Erreur d’exécution ‘1004’ : Impossible de lire la propriété CurrentRegion de la classe Range.»

J’ai pris 3 captures d’écran que j’ai jointes à ce message.

Avez-vous une idée de comment régler cette erreur?

Merci beaucoup!

Excel12
 

Pièces jointes

  • Changer_couleur_01.jpg
    Changer_couleur_01.jpg
    214.1 KB · Affichages: 2
  • Changer_couleur_02.jpg
    Changer_couleur_02.jpg
    180.9 KB · Affichages: 1
  • Changer_couleur_03.jpg
    Changer_couleur_03.jpg
    220.7 KB · Affichages: 1

_Thierry

XLDnaute Barbatruc
Bonjour @excel12, le Forum

Je n'arrive pas à simuler cette erreur, mais j'ai des effets bizarres sur ton fichier. Je n'ai JAMAIS vu un truc pareil !!!!

excel12.gif


Le coup du "suis-suis-je?" qui n'existe pas dans la barre de Formule en vraie valeur, ce n'est vraiment pas catholique. Si jamais tu sauves le classeur dans l'état en plus Excel veut faire une réparation à l'ouverture suivante et il vire toutes les Data !

Non désolé, fausse piste, non recommandée !
Bonne journée
@+Thierry
 
Haut Bas