Un problème de couleur...

Résolu/Fermé
Moldude Messages postés 19 Date d'inscription jeudi 21 mars 2019 Statut Membre Dernière intervention 8 janvier 2020 - 21 mars 2019 à 11:53
Moldude Messages postés 19 Date d'inscription jeudi 21 mars 2019 Statut Membre Dernière intervention 8 janvier 2020 - 22 mars 2019 à 19:09
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).
A voir également:

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
21 mars 2019 à 12:06
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
Moldude Messages postés 19 Date d'inscription jeudi 21 mars 2019 Statut Membre Dernière intervention 8 janvier 2020
22 mars 2019 à 19:06
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 mars 2019 à 12:02
Bonjour,

Si vous n'avez que les couleurs a traiter, regardez avec la Mise en Forme Conditionnelle avec formule
0
Moldude Messages postés 19 Date d'inscription jeudi 21 mars 2019 Statut Membre Dernière intervention 8 janvier 2020
22 mars 2019 à 19:09
merci pour votre réponse mais une macro semblait (et est) plus adaptée au vu du volume de tableau à traiter
0