Un problème de couleur...

Résolu
Moldude Messages postés 19 Statut Membre -  
Moldude Messages postés 19 Statut Membre -
Bonjour,
Je cherche à réaliser une macro de mise en forme conditionnelle pour changer la mise en forme de mes cellules en fonction de valeurs sur des tableaux très volumineux.
Mais étant totalement novice en VBA et n'ayant pas trouvé mon bonheur sur le net je me tourne vers ce forum et ses contributeurs.
Voilà mon problème je cherche à appliquer une couleur à une série de case (disons de D5 à D15) suivant leur valeur.
Par exemple si la valeur dans la case D5 est comprise entre 1 et 3 alors la couleur devra être bleue si dans cette même case la valeur est comprise entre 3 et 4 elle devra être rouge ect...
Ensuite il faudra faire la même opération dans la case D6 et ce jusqu'à la case D15. Encore ensuite je devrais appliquer la même chose mais à la ligne E (de E5 à E15) mais en changeant les règles d'attribution des couleurs.
Je m'y perds dès que j'essaie de faire ce script. Si quelqu'un aurait la solution ou de quoi m'aiguiller. D'avance merci et bonne journée.

PS j'ai plusieurs feuillets par tableaux (je pense devoir utiliser If Sheets).

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Si vous n'avez que 3 conditions à traiter, vous pouvez le faire directement avec la "mise en forme conditionnelle" "normale" ( limitation sur les anciennes versions d'excel.. je ne sais pas où on en est désormais.... )
    Et donc , si vous en avez plus... une macro me semble nécessaire
    par exemple
    Sub mfcperso()
    Dim valCel As Variant
    Dim rng As Range
    Dim C As Range
    
    Set rng = Range("D5:D15") ' plage à traiter
    
    'on boucle sur chaque cellule de la plage
    For Each C In rng
     valCel = C.Value
      
     'on teste si la valeur est un nombre
     If IsNumeric(valCel) Then
      Select Case valCel
       Case 1 To 3
        C.Interior.ColorIndex = 4
        Case 4 To 6
        C.Interior.ColorIndex = 6
        Case Else
        C.Interior.ColorIndex = 3
      End Select
     
     End If
       
    Next
    
    
    End Sub
    


    Ou encore :
    https://www.commentcamarche.net/faq/16784-excel-mises-en-forme-conditionnelles-illimitees

    .
    1
    1. Moldude Messages postés 19 Statut Membre
       
      Ha super; pile ce qu'il me fallait merci beaucoup j'ai pu faire ma macro avec ça. bravo pour la vitesse de réponse. Merci encore
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Si vous n'avez que les couleurs a traiter, regardez avec la Mise en Forme Conditionnelle avec formule
    0
    1. Moldude Messages postés 19 Statut Membre
       
      merci pour votre réponse mais une macro semblait (et est) plus adaptée au vu du volume de tableau à traiter
      0