Cinq conditions pour colorer une série de cellules dans une colonne C

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir Le Forum,
Format + mise en forme conditionnelle ne me permettant pas d'obtenir ce que je désire, je fais appel aux spécialistes pour un éventuel complément de ma macro intégrée dans le fichier ci-joint.

Dans le fichier ci-joint, les cellules de la colonne C11 à C260 prennent la coloration JAUNE PALE par défaut (si aucune saisie dans la ligne).

Puis elles devraient être de :
- la couleur Verte de Espèces (LONG/HEX 52377 ou RGB &HCC99) si seulement date en cellule B, et plus de date derrière
- la couleur Bleu fluo de Chèques (LONG/HEX 16776960 ou RGB &HFFFF00) si F est complétée, et plus de date derrière
- la couleur Vert fluo de Chèques Vacance (LONG/HEX 65280 ou RGB &HFF00) si L est complétée, et plus de date derrière
- la couleur bleu soutenu de Carte Bancaire (LONG/HEX 16763904 ou RGB &HFFCC00) si P est complétée, et avec au moins une des dates précédentes manquante
- la couleur Orangée de la colonne Résultat Général (LONG/HEX 52479 ou RGB &HCCCFF) quand B + F + L + P sont remplies

L'objectif est donc de donner sur chaque ligne, à la cellule C, la couleur de la dernière date entrée, qu'il y ait ou pas d'autre(s) date(s) complétée(s) ou pas avant sur la même ligne.

J'imagine qu'une codification VBA résoudrit l'affaire, mes recherche sur le Forum ne m'ont pas encore apporté la solution.
Meric pour votre aise
Webperegrino
 

Pièces jointes

  • Plus de trois conditions.xls
    33.5 KB · Affichages: 73

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Cinq conditions pour colorer une série de cellules dans une colonne C

Le Forum,
Pierrot93,
Bonsoir,

Merci Pierrot pour cette piste, complexe certes, mais intéressante.
Je vais étudier la codification pour voir si je peux créer une cohérence correspondante dans mon application.
Il va y avoir des court-circuits dans mes neurones dans les heures qui vont suivre !
Merci également à MyDearFriend.
Bonne soirée à vous tous sur le Forum
Webperegrino
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Cinq conditions pour colorer une série de cellules dans une colonne C

Bonsoir Le Forum,
Désolé d'intervenir à nouveau.
Je crois que je suis maintenant sur une bonne voie avec une codification plus adaptée pour trouver la solution.
Si un expert pouvait me rectifier la session pour obtenir le résultat souhaité j'en serais ravi.
Merci à ceux qui trouveront le trésor qui rendra mon code clair, ... fonctionnel et moins gourmand en octets.
Fichier ci-joint élaboré.
Bonne soirée
Webperegrino
 

Pièces jointes

  • Plus de trois conditions.zip
    162.1 KB · Affichages: 42

Banzai64

XLDnaute Accro
Re : Cinq conditions pour colorer une série de cellules dans une colonne C

bonsoir
Pas un expert (loin de là)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer

  If Not Application.Intersect(Target, Union(Range("B11:B260"), Range("F11:F260"), Range("L11:L260"), Range("P11:P260"))) Is Nothing Then
      If IsDate(Cells(Target.Row, 2)) Then x = 43
      If IsDate(Cells(Target.Row, 6)) Then x = 8
      If IsDate(Cells(Target.Row, 12)) Then x = 4
      If IsDate(Cells(Target.Row, 16)) Then x = 33
      If IsDate(Cells(Target.Row, 2)) And IsDate(Cells(Target.Row, 6)) And IsDate(Cells(Target.Row, 12)) And IsDate(Cells(Target.Row, 16)) Then
         x = 44
      End If
      Cells(Target.Row, 3).Interior.ColorIndex = x
  End If
    
End Sub
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Cinq conditions pour colorer une série de cellules dans une colonne C

Le Forum,
Bonjour,
Pierrot 93, Bonjour,
Banzai64, Bonjour et tous mes remerciements.
Je viens à l'instant d'essayer le code proposé : il fonctionne parfaitement.
Il est concis, il est rapide, et en tout cas moins brouillon que ce que j'avais placé.

Meric cette rectification me convient à merveille,
Très bonne journée à vous tous qui venez fureter et "réparer" sur cet excellent Forum.
Webperegrino
 

Statistiques des forums

Discussions
312 025
Messages
2 084 749
Membres
102 652
dernier inscrit
Helpmeplz