Couleur de cellules en fonction d'un chiffre

Bonsoir,

J'ai créé ce tableau (voir PJ) qui permet à mon chef de placer les congés demandés par ses agents.

Ce tableau est construit de sorte à ce qu'en changeant l'année (cellule C2), toutes les dates et codes des colonnes A, B, et C soient automatiquement re-calculées. La colonne qui m'intéresse ici, est la B :

J'aimerais appliquer une mise en forme à une plage donnée, que j'ai nommé dans excel "calendarCOLOR1" : lorsque une cellule de la colonne B affiche un 7 ou un 1 : toute la ligne correspondante, comprise dans la plage "calendarCOLOR1", soit remplie d'une certaine couleur (un bleu pastel par exemple).

De plus lorsque l'utilisateur change d'année avec la cellule C2, il faudrait que toutes les cellules de la plage "calendarCOLOR1" soient mises à jours et que les bonnes lignes soient remplies (toujours les lignes correspondantes à un 1 = dimanche ou un 7 = samedi).

Je vous joins mon fichier excel (en XLSM) et je vous remercie d'avance pour votre aide, je suis pas très doué en VBA... et je n'ai pas trouvé le moyen de créer une mise en forme conditionnelles.

Bien cordialement, Baptiste.

13conges-test.xlsm (66.68 Ko)

Salut horusbk,

et moi, pas doué en formule...

Voici une solution VBA lors d'un changement d'année :

  • effacement des couleurs de tout le tableau ;
  • mise en couleur des lignes "Samedi et dimanche"

Tu chipoteras bien pour trouver la couleur qui te convient!

Le code est dans le module de la feuille 'Calendrier'.

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Intersect(Target, Range("C2")) Is Nothing Then
    Application.ScreenUpdating = False
    '
    Range("C3:AA370").Interior.Color = xlNone
    For x = 3 To Range("B" & Rows.Count).End(xlUp).Row
        If CInt(Cells(x, 2)) = 1 Or CInt(Cells(x, 2)) = 7 Then Range("C" & x & ":AA" & x).Interior.Color = RGB(215, 215, 215)
    Next
    '
    Application.ScreenUpdating = True
End If
'
End Sub

A+

12conges-test.xlsm (68.15 Ko)

Bonsoir,

la formule conditionnelle :

=MOD(JOURSEM($C3);7)<2

J'ai préféré me baser directement sur la date car ta colonne JS avec numéro ne sert pas à grand chose, et tu as déjà l'indication du jour dans la colonne Date.

(NB- On pourrait même se passer de JOURSEM pour la formule et se contenter d'un MOD, car JOURSEM ne fait rien d'autre que ce que fait MOD comme calcul, mais cela pourrait déstabiliser sur le but du calcul...)

Tu changeras le bleu le cas échéant.

Evidemment, si l'année change, les dates changent et la MFC suit et s'adapte...

Cordialement.

Bonsoir vous deux,

Merci pour vos réponses ! Vous avez résolu mon problème.

MFerrand : je vais supprimer cette colonne après réflexion, elle me paraissait utilise pour le VBA sachant les difficultés pour calculer des dates... mais avec ta solution on peut même se passer du VBA, ça évite de trop charger le fichier (surtout au démarrage de ce dernier...). Merci de m'avoir appris une nouvelle formule !

Je passe le sujet en résolu.

Bonne continuation.

Rechercher des sujets similaires à "couleur fonction chiffre"