Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

coloriage automatique de cellules

4 réponses
Avatar
didiersee
Bonjour, je dispose d'un petit calendrier de un mois, il y a 7
cellules l'une à côté de l'autre qui affiche lundi puis mardi etc..,
c'est un affichage personnalisé pour que l'on ne voit que le jour en
réalité ce sont des dates.
en dessous de chaque jour il y a 2 cellules vides, y aurait-il moyen
d'automatiser le coloriage soit d'une cellule en dessous du jour (pour
le mercredi une demi journée de congé) et soit toujours suivant la
date de colorier les deux cellules du dessous de la date s'il s'agit
d'un dimanche ou d'un samedi???

Moi j'ai fait une macro comme ceci
'---------premier jour du mois--------------
''jour_1
'colorie les samedis mercredi
Range("B4").Select
If Weekday(ActiveCell.Value) = 4 Then Range("B6").Select Else GoTo
dimanche1
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo dimanche1

'colorie dimanches
dimanche1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 1 Then Range("B6:B7").Select Else GoTo
samedi1
Range("B6:B7").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With

GoTo samedi1
'colorie les samedis

samedi1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 7 Then Range("B6:B7").Select Else GoTo
jour_2
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo jour_2


mais c'est assez lourd, il faut répéter l'opération 35 fois, ne
connaissant VBA que par la fonction d'enregistrement auto, et ayant eu
étant plus jeune des souvenirs de QB45, je connais un peu les, "if
then" etc, mais ça ce limite la.
Peut-être que quelqu'un parmi les pros du VBA serait d'accord de
perdre un peu de son précieux temps pour m'aider.
Merci d'avance à tous

Cordialement
Didiersee

4 réponses

Avatar
Philippe.R
Bonjour Didier,
Les jours supposés commencer en A1.
La mise en forme conditionnelle devrait convenir avec :
Pour les samedis et dimanche, si la formule est :
=OU(JOURSEM(F$1;2)=6;JOURSEM(F$1;2)=7)
pour le mercredi, si la formule est :
=JOURSEM(A$1;2)=3
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"didiersee" a écrit dans le message de
news:
Bonjour, je dispose d'un petit calendrier de un mois, il y a 7
cellules l'une à côté de l'autre qui affiche lundi puis mardi etc..,
c'est un affichage personnalisé pour que l'on ne voit que le jour en
réalité ce sont des dates.
en dessous de chaque jour il y a 2 cellules vides, y aurait-il moyen
d'automatiser le coloriage soit d'une cellule en dessous du jour (pour
le mercredi une demi journée de congé) et soit toujours suivant la
date de colorier les deux cellules du dessous de la date s'il s'agit
d'un dimanche ou d'un samedi???

Moi j'ai fait une macro comme ceci
'---------premier jour du mois--------------
''jour_1
'colorie les samedis mercredi
Range("B4").Select
If Weekday(ActiveCell.Value) = 4 Then Range("B6").Select Else GoTo
dimanche1
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo dimanche1

'colorie dimanches
dimanche1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 1 Then Range("B6:B7").Select Else GoTo
samedi1
Range("B6:B7").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With

GoTo samedi1
'colorie les samedis

samedi1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 7 Then Range("B6:B7").Select Else GoTo
jour_2
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo jour_2


mais c'est assez lourd, il faut répéter l'opération 35 fois, ne
connaissant VBA que par la fonction d'enregistrement auto, et ayant eu
étant plus jeune des souvenirs de QB45, je connais un peu les, "if
then" etc, mais ça ce limite la.
Peut-être que quelqu'un parmi les pros du VBA serait d'accord de
perdre un peu de son précieux temps pour m'aider.
Merci d'avance à tous

Cordialement
Didiersee


Avatar
AV
Exemple
Avec tes dates de la semaine (Lundi ---> Dimanche) en A1:G1
Sélection A2:G2 > Mise en Forme conditionnelle > la formule :
=OU(JOURSEM(A1)=4;JOURSEM(A1;2)>5)
--> motif
Sélection A3:G3 > Mise en Forme conditionnelle > la formule :
=JOURSEM(A1;2)>5
--> motif

AV
Avatar
new teledisnet
Impeccable, parfait, merci Philippe et Alain, je n'avais pas encore
connaissance de cette possibilité, placer une formule dans une mise en f
conditionnelle.
Merci à vous deux
Cordialement
Didiersee

"Philippe.R" a écrit dans le message de news:

Bonjour Didier,
Les jours supposés commencer en A1.
La mise en forme conditionnelle devrait convenir avec :
Pour les samedis et dimanche, si la formule est :
=OU(JOURSEM(F$1;2)=6;JOURSEM(F$1;2)=7)
pour le mercredi, si la formule est :
=JOURSEM(A$1;2)=3
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"didiersee" a écrit dans le message de
news:
Bonjour, je dispose d'un petit calendrier de un mois, il y a 7
cellules l'une à côté de l'autre qui affiche lundi puis mardi etc..,
c'est un affichage personnalisé pour que l'on ne voit que le jour en
réalité ce sont des dates.
en dessous de chaque jour il y a 2 cellules vides, y aurait-il moyen
d'automatiser le coloriage soit d'une cellule en dessous du jour (pour
le mercredi une demi journée de congé) et soit toujours suivant la
date de colorier les deux cellules du dessous de la date s'il s'agit
d'un dimanche ou d'un samedi???

Moi j'ai fait une macro comme ceci
'---------premier jour du mois--------------
''jour_1
'colorie les samedis mercredi
Range("B4").Select
If Weekday(ActiveCell.Value) = 4 Then Range("B6").Select Else GoTo
dimanche1
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo dimanche1

'colorie dimanches
dimanche1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 1 Then Range("B6:B7").Select Else GoTo
samedi1
Range("B6:B7").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With

GoTo samedi1
'colorie les samedis

samedi1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 7 Then Range("B6:B7").Select Else GoTo
jour_2
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo jour_2


mais c'est assez lourd, il faut répéter l'opération 35 fois, ne
connaissant VBA que par la fonction d'enregistrement auto, et ayant eu
étant plus jeune des souvenirs de QB45, je connais un peu les, "if
then" etc, mais ça ce limite la.
Peut-être que quelqu'un parmi les pros du VBA serait d'accord de
perdre un peu de son précieux temps pour m'aider.
Merci d'avance à tous

Cordialement
Didiersee






Avatar
Philippe.R
Mais c'était avec plaisir Didier !
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"new teledisnet" a écrit dans le message de
news:3fe3843d$0$257$
Impeccable, parfait, merci Philippe et Alain, je n'avais pas encore
connaissance de cette possibilité, placer une formule dans une mise en f
conditionnelle.
Merci à vous deux
Cordialement
Didiersee

"Philippe.R" a écrit dans le message de news:

Bonjour Didier,
Les jours supposés commencer en A1.
La mise en forme conditionnelle devrait convenir avec :
Pour les samedis et dimanche, si la formule est :
=OU(JOURSEM(F$1;2)=6;JOURSEM(F$1;2)=7)
pour le mercredi, si la formule est :
=JOURSEM(A$1;2)=3
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"didiersee" a écrit dans le message de
news:
Bonjour, je dispose d'un petit calendrier de un mois, il y a 7
cellules l'une à côté de l'autre qui affiche lundi puis mardi etc..,
c'est un affichage personnalisé pour que l'on ne voit que le jour en
réalité ce sont des dates.
en dessous de chaque jour il y a 2 cellules vides, y aurait-il moyen
d'automatiser le coloriage soit d'une cellule en dessous du jour (pour
le mercredi une demi journée de congé) et soit toujours suivant la
date de colorier les deux cellules du dessous de la date s'il s'agit
d'un dimanche ou d'un samedi???

Moi j'ai fait une macro comme ceci
'---------premier jour du mois--------------
''jour_1
'colorie les samedis mercredi
Range("B4").Select
If Weekday(ActiveCell.Value) = 4 Then Range("B6").Select Else GoTo
dimanche1
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo dimanche1

'colorie dimanches
dimanche1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 1 Then Range("B6:B7").Select Else GoTo
samedi1
Range("B6:B7").Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With

GoTo samedi1
'colorie les samedis

samedi1:
Range("B4").Select
If Weekday(ActiveCell.Value) = 7 Then Range("B6:B7").Select Else GoTo
jour_2
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
GoTo jour_2


mais c'est assez lourd, il faut répéter l'opération 35 fois, ne
connaissant VBA que par la fonction d'enregistrement auto, et ayant eu
étant plus jeune des souvenirs de QB45, je connais un peu les, "if
then" etc, mais ça ce limite la.
Peut-être que quelqu'un parmi les pros du VBA serait d'accord de
perdre un peu de son précieux temps pour m'aider.
Merci d'avance à tous

Cordialement
Didiersee