Colorer des cellules

Résolu
sebsrv Messages postés 19 Statut Membre -  
 sebsrv -
Bonjour,

J'utilise depuis longtemps les formules conditionnelles sur excel pour colorer mes cellules en fonction de leurs contenues.
Ex : Dans une matrice à 1000 chiffres toutes les cellules qui portent le chiffres 24 se colorie en vert.
Pour mon travail je suis chargé d'étudier des matrices (plus ou moins grands) qui peuvent contenir 30 000 cellules voir plus, de colorer celles-ci ci en fonction de leurs contenus.

J'aimerai donc trouver le moyen de travailler avec une legende de couleur
Ex : x couleurs (ex : bleu=1, rouge= orange etc) et en un clic colorer toutes les cellules de la matrice en fonction de son contenu.

Si vous avez une solution, celle ci serait la bienvenue. Peut-être un programme VB....

Merci d'avance...

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    avec une macro paramétrée placée dans un module "routines" par ex

    les couleurs sont celles définies par la propriété colorindex (3 =rouge dans la macro ci dessous)

    à partir de l'exemple "find" de l'aide microsoft

    Sub tester()  
         Application.ScreenUpdating = False 
         Range("A1:C20").Interior.Pattern = xlNone 
         colorier Feuil1, "A1:C20", 23, 3 
         Application.ScreenUpdating = True 
    End Sub  
    
    Sub colorier(onglet, plage, valeur, couleur)   
    Dim cellule As Range   
    
    With onglet.Range(plage)   
         Set cellule = .Find(valeur, LookIn:=xlValues)   
        If Not cellule Is Nothing Then   
            firstAddress = cellule.Address   
            Do   
                cellule.Interior.ColorIndex = couleur   
                Set cellule = .FindNext(cellule)   
            Loop While Not cellule Is Nothing And cellule.Address <> firstAddress   
        End If   
    End With   
    End Sub   
    

    tite demo
    https://www.cjoint.com/?3Inmj1SVqHt

    Michel
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir à tous,

    Salut michel, alors, c'était bien les qcq jours de vacances ? :-)
    Une autre mise en oeuvre que la tienne.

    Ma proposition :
    https://www.cjoint.com/?BInxtVlcORy
    La macro s'applique à la sélection en cours.
    A la place, si tu veux, tu peux mettre la plage en dur dans le code.

    eric

    Jamais tu ne répondras à un mp non sollicité...
    Bon, ça c'est fait.
    0
    1. sebsrv
       
      Merci à vous, c'est exactement ce que je souhaitais obtenir.

      Très bonne soirée,
      0