Colorer des lignes , macro !

Résolu
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'aimerais qu'avec une macro (pas sur la feuille) que les lignes ou se trouve un 5 en colonne 2 soient colorées en vert et là ou il y a un B en jaune. Merci à vous.

http://ti1ca.com/34cllrcm-essai.xls.html

A voir également:

4 réponses

pépé35530 Messages postés 2943 Date d'inscription   Statut Membre Dernière intervention   1 389
 
Bonjour,

La mise en forme conditionnelle devrait répondre à ton problème.

A+

pépé
0
pépé35530 Messages postés 2943 Date d'inscription   Statut Membre Dernière intervention   1 389
 
Voici un lien vers ton fichier modifié

https://www.cjoint.com/?BLbpB30oYOX

A+

pépé
0
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ton fichier, mais j'ai bien parlé de macro, je ne veux pas de MFC.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
Bonjour
Option Explicit

Sub colorier_5ouB_en_colB()
Dim derlig As Integer, lig As Integer

Application.ScreenUpdating = False
derlig = Columns("B").Find("*", , , , , xlPrevious).Row
For lig = 2 To derlig
     Select Case Cells(lig, "B")
          Case Is = 5
               Rows(lig).Interior.ColorIndex = 36
          Case Is = "B"
               Rows(lig).Interior.ColorIndex = 35
          End Select
Next
End Sub

0
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, merci michel, ta macro fonctionne très bien, mais désolé j'ai omis une chose c'est que dans la colonne B il peut y avoir le B ou le 5 accompagnés d'autres valeurs, peux-tu modifier le fichier joint.

http://ti1ca.com/p7samhvm-essai.xls.html

<config>Windows 8 / Firefox 17.0</config
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Tu as mis ces caractères à chaque fois en début de chaine donc :
Select Case Left(Cells(lig, "B"), 1)

eric
0
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Ok mais si la valeur se situe entre les deux ?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
il faut mettre tous les cas de figure dans un exemple...
entre les deux quoi ??? entre B et 5 ?

Je suppose en n'importe quelle position... :
Sub colorier_5ouB_en_colB()
    Dim derlig As Integer, lig As Integer
    Application.ScreenUpdating = False
    Rows.Interior.ColorIndex = xlNone
    derlig = Columns("B").Find("*", , , , , xlPrevious).Row
    For lig = 2 To derlig
        If InStr(Cells(lig, "B"), 5) > 0 Then
            Rows(lig).Interior.ColorIndex = 36
        ElseIf InStr(Cells(lig, "B"), "B") > 0 Then
            Rows(lig).Interior.ColorIndex = 35
        End If
    Next
End Sub

Par ailleurs il manquait une ligne de code pour réinitialiser la couleur à 'aucune'

eric
0
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Superbe, merci beaucoup !
0
DJ FA Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens de m'apercevoir d'une chose, c'est que les lignes sont colorées jusqu'au bout, j'essaye mais je n'arrive pas à modifier la macro pour ne colorer que les cellules qui sont pleines.
0