probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule vide)

fabian123

XLDnaute Occasionnel
Bonjour à toutes et tous!


Comme l'indique le titre, j'ai un 'tit souci avec la fonction "joursem"!


je vais essayer de vous expliquer la situation:


- colonne A : j'y encode la date
- colonne B : doit afficher une valeur en fonction du jour de semaine encodé dans la colonne A (date)
(j'ai une valeur différente par jour)

Voici la formule que j'ai tapé dans les cellules de la colonne B

=SI(JOURSEM(A1,2)=1;"BLEU";SI(JOURSEM(A1,2)=2;"JAUNE";SI(JOURSEM(A1,2)=3;"VERT";SI(JOURSEM(A1,2)=4;"ROSE";SI(JOURSEM(A1,2)=5;"VIOLET";SI(JOURSEM(A1,2)=6;"TURQUOISE";SI(JOURSEM(A1,2)=7;"MAGENTA";"")))))))


Elle fonctionne très bien... à un petit détail près! :D
Quand la cellule dans la colonne A est vide, la colonne B affiche d'office la valeur du jour 6 soit "TURQUOISE"! Hors, bien évidemment, je souhaite que lorsqu'il n'y a pas de date, la cellule en B reste vide!

Est-ce qu'il y a une explication au fait que la formule renvoie la valeur du jour 6 quand il n'y a pas de date?

J'avais bien pensé contourner le problème en rajoutant un "si cellule vide, alors ne rien afficher" mais je suis déjà à 7 fonction imbriquées et ne sais donc plus en rajouter. Je pensais également que de mettre des "" dans la référence "si faux" à la fin de ma formule permettrais de règler ce problème, mais non...

Quelqu'un peut m'aider?!

Merci d'avance!!
 

ROGER2327

XLDnaute Barbatruc
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Bonjour fabian123.


Essayez :​
Code:
=SI(A1="";"";CHOISIR(JOURSEM(A1;2);"BLEU";"JAUNE";"VERT";"ROSE";"VIOLET";"TURQUOISE";"MAGENTA";""))


ROGER2327
#6715


Jeudi 19 Tatane 140 (Sainte Taloche, matrone - fête Suprême Quarte)
14 Thermidor An CCXXI, 3,0719h - basilic
2013-W31-4T07:22:21Z
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Bonjour Fabian,


=SI(A1;CHOISIR(JOURSEM(A1;2);"BLEU";"JAUNE";"VERT";"ROSE";"VIOLET";"TURQUOISE";"MAGENTA");"")


à+
Philippe

Edit: Bonjour Roger
 

fabian123

XLDnaute Occasionnel
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Bonjour Roger2327,


ça fonctionne parfaitement!!! Un tout grand merci!!!

Je ne connaissais pas la fonction "choisir"...

Juste pour ma curiosité, est-ce qu'il y a une explication au fait que ma formule renvoie toujours la valeur du jour 6 lorsque la cellule "date" est vide?

Enfin, autre question, mais si vous pensez que je dois ouvrir un autre post, dites le!

Je n'en ai pas nécessairement l'utilité, mais si un jour devait faire référence à deux valeurs (par exemple le lundi c'est soit blanc, soit jaune) je suppose qu'il faudrait passer par une macro pour pouvoir afficher les deux possibilités et que l'utilisateur choisira celle qu'il désire?
(ceci est juste une question par curiosité, elle ne necéssite pas forcément une réponse!)

Encore merci pour votre réponse ultra rapide! vous m'avez été d'un grand secours!

Merci aussi a phlaurent55! j'étais occupé de répondre quand vous avez envoyé votre réponse!
 
Dernière édition:

tashiqi

XLDnaute Occasionnel
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Bonjour Roger2327,


ça fonctionne parfaitement!!! Un tout grand merci!!!

Je ne connaissais pas la fonction "choisir"...

Juste pour ma curiosité, est-ce qu'il y a une explication au fait que ma formule renvoie toujours la valeur du jour 6 lorsque la cellule "date" est vide?
Bonjour,

Sous Excel, une date est codée par un nombre : chaque jour un nombre. Par exemple, aujourd'hui, on est le 41487. Le nombre 0 correspond au 31/12/1899 (le 00/01/1900 en fait), donc un dimanche, d'où le 6 sur une case contenant 0 ou étant analysée comme un 0 (vide).
Voici mon explication la plus plausible :) .

Bonne chance
 

ROGER2327

XLDnaute Barbatruc
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Re...


Bonjour,

Sous Excel, une date est codée par un nombre : chaque jour un nombre. Par exemple, aujourd'hui, on est le 41487. Le nombre 0 correspond au 31/12/1899 (le 00/01/1900 en fait), donc un dimanche, d'où le 6 sur une case contenant 0 ou étant analysée comme un 0 (vide).
Voici mon explication la plus plausible :) .

Bonne chance
Vous avez raison sur un point : le 31 décembre 1899 fut un dimanche.
Mais ça n'explique pas le 6 renvoyé par =JOURSEM(0;2). Ce devrait être 7. En fait, la fonction JOURSEM renvoie un résultat erroné pour les dates antérieures au 1[SUP]er[/SUP] mars 1900.​


Bonne journée.


ROGER2327
#6716


Vendredi 20 Tatane 140 (Saint Tiberge, frère quêteur - fête Suprême Quarte)
15 Thermidor An CCXXI, 5,9481h - brebis
2013-W31-5T14:16:31Z
 

tashiqi

XLDnaute Occasionnel
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Si je comprends bien, pour excel, 1900 n'est pas bissextile, et donc, toujours pour excel, le 31 décembre 1899 est un samedi, c'est ça ?
 

ROGER2327

XLDnaute Barbatruc
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Re...


Si je comprends bien, pour excel, 1900 n'est pas bissextile, et donc, toujours pour excel, le 31 décembre 1899 est un samedi, c'est ça ?
La correspondance entre les dates et les numéros de série est définie comme suit :
01/01/1900101/02/19003201/03/190061
..................
28/01/19002828/02/19005928/03/190088
29/01/19002929/03/190089
30/01/19003030/03/190090
31/01/19003131/03/190091
Il n'existe pas de jour n°60. C'est pourquoi Microsoft a inventé, en exclusivité mondiale, un 29 février 1900.
Pour utiliser la fonction JOURSEM avec une date en A1, il "suffit" d'écrire :
Code:
=SI(A1=60;"";JOURSEM(A1+(A1<60);2))
Pourquoi faire simple, si l'on peut faire compliqué ?


ROGER2327
#6717


Vendredi 20 Tatane 140 (Saint Tiberge, frère quêteur - fête Suprême Quarte)
15 Thermidor An CCXXI, 9,0160h - brebis
2013-W31-5T21:38:18Z
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : probleme avec la fonction "joursem" (affiche tjrs le jour 6 même quand cellule v

Bonjour à tous


Juste pour un peu plus de confort avec une matrice nommée COULEURS
(Insertion/Noms/Définir)
insertnoms.png

Et comme formule en B1
Code:
=SI(A1;INDEX(COULEURS;JOURSEM(A1;2);0);"")

NB: L'avantage c'est que COULEURS pourra être utiliser ailleurs dans le classeur.
(et on a saisir la liste des couleurs qu'une seule fois ;).)
C'est là que se situe à mon sens, le petit plus de confort .
(faut dire que j'ai les doigts fragiles ;))
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
214

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87