fond de couleur suivant le jour de la semaine et suivant un critere.

Le
sleg
Bonjour,


j'ai une demande que je ne sais absolument pas résoudre , donc voici
mon probleme :

Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24


et voici mon probleme ;
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc suivant le jour
d'ouverture de la semaine et l'information en colonne E.

j'image que cela ne doit pas etre tres simple a faire et je suis nul
en excel mais vraiment nul et j'avoue que cela m'aiderait vraiment
beaucoup.

Merci d'avance de vos reponses et @ bientot.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #5224581
Salut à toi

Dans le ThisWorbook mets ce code :

Private Sub Workbook_Open()
For Each c In Worksheets("Feuil1").Range("E1", "E" &
Sheets("Feuil1").Range("E65535").End(xlUp).Row)
If Format(Date, "dddd") = "Samedi" Or Format(Date, "dddd") =
"Dimanche" Then
If c = I Or c = II Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
If c = I Or c = II Then
If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "19" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
End If
Next
End Sub

Une remarque :

pour obtenir :

"j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois
etre
rouge en colonne N le reste en vert"

Tes donnes de bases doivent être :

I ==> 5j/7 - 7/19
II ==> 5j/7 - 7/19
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24

et non

I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24

Me trompe je ????

Mon code a été réalisé ainsi

Celà te convient-il ?????
Daniel.C
Le #5224521
Bonjour.
Avec une MEFC :
1er condition :
á="" aucun couleur de fond.
2e condition :
=OU(ET(E1="II";JOURSEM(AUJOURDHUI();1)<6);ET(E1="I";MAINTENANT()-AUJOURDHUI()<19/24;MAINTENANT()-AUJOURDHUI()>7/24;JOURSEM(AUJOURDHUI();1)<6))
Fond de cellule vert
3e condition :
=NON(OU(ET(E1="II";JOURSEM(AUJOURDHUI();1)<6);ET(E1="I";MAINTENANT()-AUJOURDHUI()<19/24;MAINTENANT()-AUJOURDHUI()>7/24;JOURSEM(AUJOURDHUI();1)<6)))
Fond de cellule rouge.
Pas complément testé, mais ça devrait fonctionner.
Cordialement.
Daniel
"sleg"
Bonjour,


j'ai une demande que je ne sais absolument pas résoudre , donc voici
mon probleme :

Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24


et voici mon probleme ;
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc... suivant le jour
d'ouverture de la semaine et l'information en colonne E.

j'image que cela ne doit pas etre tres simple a faire et je suis nul
en excel mais vraiment nul... et j'avoue que cela m'aiderait vraiment
beaucoup.

Merci d'avance de vos reponses et @ bientot.
Modeste
Le #5224471
Bonsour® sleg avec ferveur ;o))) vous nous disiez :
Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24 ------------------------ ???????????
IV ==> 7j/7 - 24/24
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc... suivant le jour
d'ouverture de la semaine et l'information en colonne E.


utiliser les Mises en forme conditionnelles
comme il n'y a que 3 conditions possibles toutes les cases de la colonne N
seront par défaut remplies avec un fond VERT

le cas IV n'est pas traité car toujours ouvert (VERT)
le cas III est je suppose plutot : III ==> 5j/7 - 7/19

le cas I :
la formule est :
=ET(E2="I";OU(HEURE(MAINTENANT())<7;HEURE(MAINTENANT())>;JOURSEM(MAINTENANT();2)>5))
Motif Rouge
le cas II
la formule est :
=ET(E2="II";JOURSEM(MAINTENANT();2)>5)
Motif Rouge
le cas III
la formule est :
=ET(E2="III";OU(HEURE(MAINTENANT())<7;HEURE(MAINTENANT())>))
Motif Rouge

attention s'il s'agit d'un simple consultation sans saisie sur la feuille,
il faut déclencher un recalcul par F9

http://cjoint.com/?dusVqBQFEm



--
--
@+
;o)))

FFO
Le #5224421
Rebonjours à toi
Tout en réfléchissant je me suis aperçu aprés coup que j'avais commis une
petite erreur que je m'empresse de rectifier
Si tu veux pour les cas I et II que les cellules correspondantes N soit
colorées en rouge à partir de 19h il faut remplacer la ligne suivante :

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "19" Then

par

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "18" Then

Effectivement en mettant l'heure en cours supérieur à 19 pour colorer en
rouge je colore en vert de 19h à 20 h

Mille excuses

"sleg" wrote:

Bonjour,


j'ai une demande que je ne sais absolument pas résoudre , donc voici
mon probleme :

Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24


et voici mon probleme ;
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc... suivant le jour
d'ouverture de la semaine et l'information en colonne E.

j'image que cela ne doit pas etre tres simple a faire et je suis nul
en excel mais vraiment nul... et j'avoue que cela m'aiderait vraiment
beaucoup.

Merci d'avance de vos reponses et @ bientot.



sleg
Le #5223991
Bonjour,

j'ai fais une erruer le II est bien 5/7 24/24 est ce que ça change le
code ?


On 20 mar, 17:59, wrote:
Salut à toi

Dans le ThisWorbook mets ce code :

Private Sub Workbook_Open()
For Each c In Worksheets("Feuil1").Range("E1", "E" &
Sheets("Feuil1").Range("E65535").End(xlUp).Row)
If Format(Date, "dddd") = "Samedi" Or Format(Date, "dddd") =
"Dimanche" Then
If c = I Or c = II Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
If c = I Or c = II Then
If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "19" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
End If
Next
End Sub

Une remarque :

pour obtenir :

"j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois
etre
rouge en colonne N le reste en vert"

Tes donnes de bases doivent être :

I ==> 5j/7 - 7/19
 II ==> 5j/7 - 7/19
 III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24

et non

I ==> 5j/7 - 7/19
 II ==> 5j/7 - 24/24
 III ==> 7j/7 - 24/24
 IV ==> 7j/7 - 24/24

Me trompe je ????

Mon code a été réalisé ainsi

Celà te convient-il ?????


sleg
Le #5223941
Encore moi petite question la function est basée sur la date date et
heure system ou windows ?



On 20 mar, 20:25, FFO
Rebonjours à toi
Tout en réfléchissant je me suis aperçu aprés coup que j'avais com mis une
petite erreur que je m'empresse de rectifier
Si tu veux pour les cas I et II que les cellules correspondantes N soit
colorées en rouge à partir de 19h il faut remplacer la ligne suivante :

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "19" Then

par

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "18" Then

Effectivement en mettant l'heure en cours supérieur à 19 pour colorer en
rouge je colore en vert de 19h à 20 h

Mille excuses



"sleg" wrote:
Bonjour,

j'ai une demande que je ne sais absolument pas résoudre , donc voici
mon probleme :

Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24

et voici mon probleme ;
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc... suivant le jour
d'ouverture de la semaine et l'information en colonne E.

j'image que cela ne doit pas etre tres simple a faire et je suis nul
en excel mais vraiment nul... et j'avoue que cela m'aiderait vraiment
beaucoup.

Merci d'avance de vos reponses et @ bientot.- Masquer le texte des messa ges précédents -


- Afficher le texte des messages précédents -



sleg
Le #5223871
Je test en changeant l'heure windows dimanche 01:30 et c toujours tout
vert une idée ?

sinon c bien ça que je voulais

merci de votre retour.


On 20 mar, 20:25, FFO
Rebonjours à toi
Tout en réfléchissant je me suis aperçu aprés coup que j'avais com mis une
petite erreur que je m'empresse de rectifier
Si tu veux pour les cas I et II que les cellules correspondantes N soit
colorées en rouge à partir de 19h il faut remplacer la ligne suivante :

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "19" Then

par

If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "18" Then

Effectivement en mettant l'heure en cours supérieur à 19 pour colorer en
rouge je colore en vert de 19h à 20 h

Mille excuses



"sleg" wrote:
Bonjour,

j'ai une demande que je ne sais absolument pas résoudre , donc voici
mon probleme :

Descriptif de mon fichier :
en colonne E j'ai des chiffres romain de 1 à 4 ( I II III IV) qui
correspondent a des horraires d'ouverture Info :
Le :
I ==> 5j/7 - 7/19
II ==> 5j/7 - 24/24
III ==> 7j/7 - 24/24
IV ==> 7j/7 - 24/24

et voici mon probleme ;
J'aimerais que la colonne N de chaque ligne s'affiche en fond vert si
le service doit etre ouvert. Si par exemple a la ligne 2 en cellule E2
j'ai I (1) et que j'ouvre mon fichier un dimanche le fond soit rouge
idem si il y a un II, mais vert dans les 2 derniers cas et cela pour
tous les jours de la semaine. idem pour la plage horraire si un lundi
j'ouvre mon fichier a 21h00 alors tout ce qui est en I & II dois etre
rouge en colonne N le reste en vert etc etc... suivant le jour
d'ouverture de la semaine et l'information en colonne E.

j'image que cela ne doit pas etre tres simple a faire et je suis nul
en excel mais vraiment nul... et j'avoue que cela m'aiderait vraiment
beaucoup.

Merci d'avance de vos reponses et @ bientot.- Masquer le texte des messa ges précédents -


- Afficher le texte des messages précédents -



francois.forcet
Le #5223821
Rebonjours à toi

Si pour les cas II tu ne t'es pas trompé concernant les plages
d'ouverture quand tu ouvres le fichier à 21h seul les cas I doivent
être en rouge et non les cas I et II

Effectivement le code doit être adapté ainsi :

Private Sub Workbook_Open()
For Each c In Worksheets("Feuil1").Range("E1", "E" &
Sheets("Feuil1").Range("E65535").End(xlUp).Row)
If Format(Date, "dddd") = "samedi" Or Format(Date, "dddd") =
"dimanche" Then
If c = "I" Or c = "II" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
If c = "I" Then
If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "18" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
End If
Next
End Sub

De plus la ligne :

If c = I Or c = II Then

comportait une erreur et devait être c:

If c = "I" Or c = "II" Then

Et les jours exclus dans mon code devait être notés "samedi" et
"dimanche" et non pas "Samedi" et "Dimanche"

Beaucoup d'erreurs !!!!
D'où ton anomalie constatée avec l'heure de ton système mis à dimanc he
01:30

Tout devrait fonctionner maintenant avec ce code modifié

Mille excuses

Dis moi !!!!
sleg
Le #5332461
Tout a l'air ok je test su différente plage horraire et je vois grand
merci a toi et pas la peine de s'excusser ;-)))

encore grand merci a toi et au autres


On 21 mar, 13:16, wrote:
Rebonjours à toi

Si pour les cas II tu ne t'es pas trompé concernant les plages
d'ouverture quand tu ouvres le fichier à 21h seul les cas I doivent
être en rouge et non les cas I et II

Effectivement le code doit être adapté ainsi :

Private Sub Workbook_Open()
For Each c In Worksheets("Feuil1").Range("E1", "E" &
Sheets("Feuil1").Range("E65535").End(xlUp).Row)
If Format(Date, "dddd") = "samedi" Or Format(Date, "dddd") =
"dimanche" Then
If c = "I" Or c = "II" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
If c = "I" Then
If Format(Time, "Hh") < "7" And Format(Time, "Hh") > "18" Then
Range("N" & c.Row).Interior.ColorIndex = 3
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
Else
Range("N" & c.Row).Interior.ColorIndex = 4
End If
End If
Next
End Sub

De plus la ligne :

If c = I Or c = II Then

comportait une erreur et devait être c:

If c = "I" Or c = "II" Then

Et les jours exclus dans mon code devait être notés "samedi" et
"dimanche" et non pas "Samedi" et "Dimanche"

Beaucoup d'erreurs !!!!
D'où ton anomalie constatée avec l'heure de ton système mis à dima nche
01:30

Tout devrait fonctionner maintenant avec ce code modifié

Mille excuses

Dis moi !!!!


Publicité
Poster une réponse
Anonyme