OVH Cloud OVH Cloud

Mise en forme conditionnelle

2 réponses
Avatar
David 02
bonjour à tous

Dans un tableux, à partir de A4 à Axxxxxx, des dates sont mise en forme
conditionnelle pour faire
resortir les samedis et dimanches.

j'aimerais également faire resortir les jours fériés.

Existe t'il un moyen ? mise en forme conditionnelle ou macro ?

salutations et bonne journée

David

2 réponses

Avatar
AV
Va voir là :
http://disciplus.simplex.free.fr/classeursxl/av-mefc.zip

Rubrique "Date - Heures"
"Les jours fériés et WE dans un calendrier"

AV
Avatar
Frédéric Sigonneau
Bonsoir,

Une macro qui programme une mise en forme conditionnelle, issue d'un échange il
y a environ un an. Telle que, elle met en forme à une plage sélectionnée. A
adapter, donc, à ton besoin précis :

'==================== Sub MFC_WEFerie()
'Normalement (?), il n'est pas possible d'entrer dans la boite de dialogue
'de mise en forme conditionnelle une formule de plus de 254 caractères.
'Sauf par une macro !...
'Cette possibilité permet de rentrer ici en première condition une formule
'de plus de 400 caractères qui teste si la cellule mise en forme contient
'ou non un jour férié.
'En deuxième condition, mise en évidence des samedis et dimanches.
'Alain Vallon, mpfe, a largement contribué à ce travail.
Adr$ = Selection.Range("A1").Address(0, 0)
Paques$ = _
"FRANC(DATE(ANNEE(" & Adr & ");4;JOUR(MINUTE(ANNEE(" & _
Adr & ")/38)/2+55))/7;)*7-6"
'(formule de Norbert Hetterich : renvoie la date du dimanche
'de Pâques - valide jusqu'en 2079)
With Selection
.FormatConditions.Delete
'recherche des 11 jours fériés français
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=OU(" & _
Adr & "ÚTE(ANNEE(" & Adr & ");1;1);" & _
Adr & "=" & Paques & "+1;" & _
Adr & "ÚTE(ANNEE(" & Adr & ");5;1);" & _
Adr & "ÚTE(ANNEE(" & Adr & ");5;8);" & _
Adr & "=" & Paques & "+39;" & _
Adr & "=" & Paques & "+50;" & _
Adr & "ÚTE(ANNEE(" & Adr & ");7;14);" & _
Adr & "ÚTE(ANNEE(" & Adr & ");8;15);" & _
Adr & "ÚTE(ANNEE(" & Adr & ");11;1);" & _
Adr & "ÚTE(ANNEE(" & Adr & ");11;11);" & _
Adr & "ÚTE(ANNEE(" & Adr & ");12;25)" & _
")"
.FormatConditions(1).Interior.ColorIndex = 34
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=JOURSEM(" & Adr & ";2)>5"
.FormatConditions(2).Interior.ColorIndex = 27
End With
End Sub 'fs
'====================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


bonjour à tous

Dans un tableux, à partir de A4 à Axxxxxx, des dates sont mise en forme
conditionnelle pour faire
resortir les samedis et dimanches.

j'aimerais également faire resortir les jours fériés.

Existe t'il un moyen ? mise en forme conditionnelle ou macro ?

salutations et bonne journée

David