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

XL 2016 Colorier ligne sous condition

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 !

Scorpio

XLDnaute Impliqué
Bonjour à vous,

J'aimerais grâce à un code trouvé sur le net colorier avec un click sur le bouton, les lignes que je choisirais dans le MsgBox.
Ca fonctionne, mais pas chaque fois.
Y aurait-il, s'il vous plaît, un membres bien sympa pour me dépanner dans ce code.
Merci et a bientôt
 

Pièces jointes

Bonjour,

Remplace ta macro par celle-ci ...
Si tu saisis a ou A , ça fonctionnera.
Le nombre de ligne n'importe pas, il y a détection de la dernière ligne.
Code:
Sub coloriageService()
Dim MyRange As Range
Dim Cel As Range
Dim DerLig As Long
Dim Service As String

DerLig = Range("C" & Rows.Count).End(xlUp).Row
Set MyRange = Range("C2:C" & DerLig)
Service = InputBox("Quel service")
Service = UCase(Service)
For Each Cel In MyRange
    If Cel.Value = Service Then
        Range(Cells(Cel.Row, 1), Cells(Cel.Row, 3)).Interior.ColorIndex = 36
    Else
        Range(Cells(Cel.Row, 1), Cells(Cel.Row, 3)).Interior.ColorIndex = xlNone
    End If
Next
End Sub



Jecherche
 
Dernière édition:
Salut jecherche,
Super, merci du service.
Une question si tu me permets; le code fonctionne bien sur une cellule normale si je peux dire ainsi.
Mais si je mets une liste de validation des données, par ex en colonne B, cela ne marche pas.
A++++++ et merci
 

Pièces jointes

Bonjour,

Change : Service = Ucase(Service)
Pour : Service = UCase(Left(Service, 1)) & Lcase(Right(Service, Len(Service) - 1))
(on peut ainsi rechercher indifféremment : lyon, Lyon ou LYON, qu'il faut comparer au contenu qui est Lyon)



Jecherche
 
Dernière édition:
Bonjour,

Plus simple ainsi ...
Code:
Sub coloriageService()
Call EffaceCouleur
Dim MyRange As Range
Dim Cel As Range
Dim DerLig As Long
Dim Service As String

DerLig = Range("B" & Rows.Count).End(xlUp).Row
Set MyRange = Range("B2:B" & DerLig)
Service = InputBox("Quel service")
For Each Cel In MyRange
If UCase(Cel.Value) = UCase(Service) Then
Range(Cells(Cel.Row, 1), Cells(Cel.Row, 3)).Interior.ColorIndex = 36
End If
Next
End Sub



Jecherche
 
- 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

Discussions similaires

Réponses
3
Affichages
368
Réponses
5
Affichages
265
Réponses
4
Affichages
439
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…