Question sur les dates sous Excel

Adrienhb

Membre expert
Club iGen
25 Octobre 2002
3 493
287
46
La Ville Lumière
Bonjour,

Je cherche à associer le jour de la semaine correspond à une date sous excel... mais j'ai beau cherché, je n'y arrive pas.
La configuration de départ est simple: une colonne avec les dates au format jour/mois/année.
Quelqu'un aurait une idée?

Merci! :zen:
 
La réponse est aussi simple (et j'espère plus claire) que la question : si tu vas dans "Fomat" > "Cellule..." > "Nombre" > "Personnalisé" et que tu mets "jjjj" comme format, ça te mettra le jour de la semaine.

Par exemple pour une cellule qui contiendrait la date d'aujourd'hui (donc "20/05/2010") si tu mets comme format personnalisé "jjjj j mmmm aaaa" ça t'affichera "jeudi 20 mai 2010". Attention à ce que la colonne soit assez large pour pouvoir afficher le "vendredi 24 septembre 2010"...
 
  • J’aime
Réactions: Adrienhb
Mais aussi ....

Soit une date dans une cellule - en format date, bien entendu - par exemple JJMMAAAA
La formule =joursem(cellule en question ) restitue le n° d'ordre de ce jour dans la semaine.
Etant bien entendu que dimanche =1 et ainsi de suite ....
 
La formule =joursem(cellule en question ) restitue le n° d'ordre de ce jour dans la semaine.
Etant bien entendu que dimanche =1 et ainsi de suite ....

Si tu mets 1 comme second paramètre de la fonction, dont la syntaxe est "=joursem(date;sortie), donc, avec "sortie" = 1 ça fait ce que tu dis, mais avec sortie=2, c'est de lundi = 1 à dimanche = 7, et avec sortie = 3, ça donne de dimanche = 0 à samedi = 6.

En outre, avec Excel 2004 (ou même v(X), mais pas 2008), en créant cette macro simple :

jourtextm.jpg

tu peux avoir le jour en clair grâce à ta propre fonction :

jourtextf.jpg

:zen:
 
tu peux avoir le jour en clair grâce à ta propre fonction
;) mis à part l'exercice de style, ça ne me semble tout de même pas plus pratique (demande d'activation des macros à l'ouverture du classeur, etc.) qu'une simple mise au format "jjjj" de la cellule (laquelle est disponible également dans Excel 2008, pour le coup)...


mais je sais ce que c'est ; quand on aime les macros...
 
;) mis à part l'exercice de style, ça ne me semble tout de même pas plus pratique (demande d'activation des macros à l'ouverture du classeur, etc.) qu'une simple mise au format "jjjj" de la cellule (laquelle est disponible également dans Excel 2008, pour le coup)...

Ça dépend, dans mon exemple, même en mettant "A1" au format "jjjj", si tu cherche à récupérer le contenu de la cellule ailleurs, tu récupèreras "38472", alors que dans "B1", tu récupères bien "vendredi". En fait, ça dépend de ce que tu veux faire, et bien entendu, cette fonction est plutôt à mettre dans ton classeur de macros personnelles, comme ça, tu l'as toujours sous la main.

Quant à son équivalent direct en feuille de calcul, voici ce qu'il donne :

=SI(JourSem(A1;2)=1;"lundi";SI(JourSem(A1;2)=2;"mardi";SI(JourSem(A1;2)=3;"mercredi";SI(JourSem(A1;2)=4;"jeudi";SI(JourSem(A1;2)=5;"vendredi:SI(JourSem(A1;2)=6;"samedi";"dimanche"))))))

Je trouve que ma macro est plus facile à taper (mais pour ceux qui veulent récupérer le jour de la semaine en texte dans 2008, ils devront en passer par là :rateau: :casse:)

mais je sais ce que c'est ; quand on aime les macros...

Mmmmmm ! surtout "au vin blanc", comme ma grand-mère les faisait :love:

:D

NB : si vous voyez un espace entre "ma et rdi" ou ailleurs dans ma formule, c'est un artefact d'affichage de vBubulle
 
Pour tout vous dire, je me suis contenté de la méthode d'Aliboron.

S'il s'agit juste d'afficher le jour, c'est effectivement la meilleure, la (les) mienne(s) ne sont utiles que si tu dois utiliser le contenu ce cette cellule pour générer un texte automatiquement par concaténation, par exemple, mais "en direct", mieux vaut aller au plus simple (d'ailleurs, je répondais plus à Flibust007 qu'à toi, en fait). :zen:
 
dans mon exemple, même en mettant "A1" au format "jjjj", si tu cherche à récupérer le contenu de la cellule ailleurs, tu récupèreras "38472", alors que dans "B1", tu récupères bien "vendredi".
Ben, en A1 tu mets le format que tu veux et dans la cellule où tu as le numéro de série du jour dans ton cas, tu appliques la mise au format "jjjj". Ce qui t'affiche le nom du jour et conserve la date pour d'éventuels opérations ou calculs.

S'il s'agit vraiment de récupérer le texte à proprement parler (et donc perdre la date en tant que telle), tu peux utiliser la formule =TEXTE(A1;"jjjj") ce qui reste plus léger qu'une fonction personnelle.


Quant à son équivalent direct en feuille de calcul, voici ce qu'il donne :
Personnellement, tant qu'à faire dans la formule "enrichie", alors je préfère ça :
=CHOISIR(JOURSEM(A1;2);"lundi";"mardi";"mercredi";"jeudi";"vendredi";"samedi";"dimanche")

(moi j'aime bien les fonctions matricielles et puis, les SI() imbriqués... j'aime autant limiter). Au passage, on est là exactement dans la méthode de recherche indexée utilisée par ta fonction personnelle.



pour ceux qui veulent récupérer le jour de la semaine en texte dans 2008, ils devront en passer par là
Comme vu plus haut, c'est une des méthodes possibles.


En fait, ça dépend de ce que tu veux faire,
C'est clair, c'est la règle de base.



Merci à tous, je n'aurais pas pensé lancer une discussion sur ce point! :D
Non, mais, comme tu le vois, on est prêt à sauter sur tous les prétextes pour débattre des problèmes de fond ! :D
 
Merci à tous.
Voici un sujet qui a bien enrichi mes connaissances et apporté des solutions intéressantes.