affichage du 1er Lundi du mois

  • Initiateur de la discussion aranud
  • Date de début
A

aranud

Guest
voilà ce que je cherche à faire: (et toujours sans macro)

je crée une liste avec les mois : janvier, Février………j'en fais un menu déroulant……ok

je voudrais par un menu déroulant que si on sélectionne Mai par exemple, qu'il m'affiche dans la cellule de départ : Lundi 03 mai
cette cellule afficherait que le Lundi du premier mois:

janvier: Lundi 5 janvier 2004
Février: Lundi 2 février
Mars: Lundi 1er mars etc

Monique: Merçi pour la derniere fois (jours fériés) ……mais il faudra que je réexplique le truc car en adaptant les jours fériés, mon truc foire ……;-)

ben voilà …… A+
 
L

loic38

Guest
bonsoir monique

extraordinaire ta formule
puis je te poser quelques questions complémentaires ?

1. pourquoi retrancher 1 au numéro du mois ?

2. pourqoi un modulo avec 4.70 de constante ?

3. et le rajout de la valeur 7 à la formule ?

connais tu des exemples de la formule MOD ?
je ne m'en suis jamais servi
 
M

Monique

Guest
Bonjour,

J'aurais bien du mal à t'expliquer ça. Des exemples, plus facilement.
Primo, je ne vois pas où j'ai enlevé 1 au mois. Ajouté, oui, pour avoir le mois suivant.
Sinon, modulo et constante, je ne sais pas ce que ça veut dire. Une constante à 4,70 c'est du chinois, pour moi.
Sinon bis, toutes ces formules sont basées sur le fait que la semaine dure 7 jours, que chaque jour de semaine peut être chiffré par excel et que chaque jour, divisé par 7, a un reste entre 0 et 6. (et pas le même reste selon que l'on a ou non coché l'option "Calendrier depuis 1904")
Les chiffres des formules, ce sont des n° de JOURSEM(date), des restes de la division par 7 du jour
Ici, tu trouveras plein plein d'explications :
<http://www.excelabo.net/xl/calendriers.php>

La fonction MOD ( nb ; diviseur ) donne le reste de la division du nombre par le diviseur
=MOD(7;2) = 1
=MOD(18;3) = 0

Faire le total d'heures écoulées entre 2 heures situées ou non dans 2 journées différentes
de 22:00 à 10:00 le lendemain :
=MOD("10:00"-"22:00";1)
de 10:00 du matin à 22:00 le soir :
=MOD("22:00"-"10:00";1)
1 parce que, pour Excel, 1 jour = 1
Equivaut à ça, si on veut, mais avec des heures au format nombre standard :
=MOD(10-22;24) et MOD(22-10;24)

Faire la somme des valeurs des lignes paires :
=SOMMEPROD((MOD(LIGNE(A1:A15);2)=0)*A1:A15)
des lignes impaires :
=SOMMEPROD((MOD(LIGNE(A1:A15);2)=1)*A1:A15)
(Idem avec les colonnes)
Une mise en forme conditionnelle 1 ligne sur 5 =MOD(LIGNE();5)=1 (1 ou 2 ou...)

Des exemples, tu en trouves au fur et à mesure que tu en as besoin.
Mod ( ) n'est qu'un reste, on peut imaginer qu'on peut l'utiliser dans une formule qui utilise ENT(), la partie entière d'un nombre ?
Tu tapes 29,56 en A1
=MOD(A1;ENT(A1)) équivaut à =A1-ENT(A1) = 0,56
 

Discussions similaires

Réponses
3
Affichages
515

Statistiques des forums

Discussions
314 190
Messages
2 106 987
Membres
109 733
dernier inscrit
chardou