Colorer cellule en fonction de son dernier caractère.

harzer

XLDnaute Nouveau
Bonjour à tous,
Encore une fois de plus, j’aurais besoin de vos lumières.
Dans ma feuille ‘Parents’, la colonne A contient plusieurs cellules, on peut remarquer que toutes les cellules finissent par soit le caractère ‘M’ ou le caractère ‘F’, j’aimerais avec votre aide créer une macro qui me permets de colorer toutes les cellules se terminant par ‘M’en jaune et colorer toutes celles qui se terminent par ‘F’ en rouge.
Merci de votre aide.
 

Pièces jointes

  • Colorer cellule en fonction de son dernier caractère.xls
    28 KB · Affichages: 38

DoubleZero

XLDnaute Barbatruc
Re : Colorer cellule en fonction de son dernier caractère.

Bonjour, harzer, le Forum,

Une suggestion :

VB:
Sub MFC_F_M()
Dim c As Range
Application.ScreenUpdating = False
    For Each c In Range("a2:a" & Range("a65536").End(xlUp).Row)
        If Right(c.Value, 1) = "M" Then c.Interior.ColorIndex = 6
        If Right(c.Value, 1) = "F" Then c.Interior.ColorIndex = 3
    Next
Application.ScreenUpdating = True
End Sub

A bientôt :)
 

Pièces jointes

  • 00 - harzer - Couleur selon dernier caractère.xls
    38.5 KB · Affichages: 42

harzer

XLDnaute Nouveau
Re : Colorer cellule en fonction de son dernier caractère.

Bonjour doublezero et hoerwind,
Merci de vos réponses et des solutions proposées.
Un petit message pour doublezero : Je viens de tester votre code, il fonctionne bien à une exception près : (la ligne 64) qui n'est pas colorée.
Vous trouverez en pièce jointe le fichier de test.
Un petit message pour hoerwind : Merci de votre réponse, si j'ai demandé une macro, c'est pour lire et comprendre le code qui allait être proposé et pour m’inspirer pour l’utiliser ultérieurement.
Cordiale poignée de mains à tous les deux.
 

Pièces jointes

  • 001 - harzer - Couleur selon dernier caractère.xls
    42 KB · Affichages: 46

DoubleZero

XLDnaute Barbatruc
Re : Colorer cellule en fonction de son dernier caractère.

Re-bonjour, bonjour, hoerwind,

... Je viens de tester votre code, il fonctionne bien à une exception près : (la ligne 64) qui n'est pas colorée...

Effectivement, la cellule A64 de votre fichier, déposé en #4, "échappe" à la macro ET à la mise en forme conditionnelle proposée par hoerwind.

Cela est, vraisemblablement, dû à la présence d'un caractère spécial :confused:.

Je ne sais, malheureusement, comment résoudre le problème mais un autre membre du site trouvera certainement le remède.

A bientôt :)
 

tototiti2008

XLDnaute Barbatruc
Re : Colorer cellule en fonction de son dernier caractère.

Bonjour harzer, Bonjour hoerwind :), bonjour 00 :)

le "caractère spécial" est un espace, donc

Code:
Sub MFC_F_M()
Dim c As Range
Application.ScreenUpdating = False
    For Each c In Range("a2:a" & Range("a65536").End(xlUp).Row)
        If Right(Trim(c.Value), 1) = "M" Then c.Interior.ColorIndex = 6
        If Right(Trim(c.Value), 1) = "F" Then c.Interior.ColorIndex = 3
    Next
Application.ScreenUpdating = True
End Sub

devrait le faire
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 604
Membres
104 224
dernier inscrit
Brilma