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

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

hoerwind

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

Bonjour, salut 00,

Pourquoi une macro alors qu'une MFC (mise en forme conditionnelle) suffit, voir la pièce jointe ?
 

Pièces jointes

  • MfcDernierCaractère.xls
    30.5 KB · Affichages: 56

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 .

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…