Userform Calendrier avec jours fériés (sans API ni DTPicker)

  • Initiateur de la discussion Compte Supprimé 979
  • Date de début
C

Compte Supprimé 979

Guest
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsoir à tous ;)

@Kim75, aux vues de tes commentaires
Je ne vous remercierai jamais assez pour votre calendrier, et je dois dire que ce n’est pas lui seulement qui est superbe, mais vous aussi
comment puis-je faire autrement que de te modifier le fichier avec la dernière version :p:eek:;)
Tu trouveras ton fichier modifié sur le post #1
https://www.excel-downloads.com/thr...vec-jours-feries-sans-api-ni-dtpicker.186514/

@YANN-56, Yann ne t'en fais pas ton calendrier perpétuel est génial ;)

A+
 

Kim75

XLDnaute Occasionnel
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonjour Bruno, Yann, le forum,

Bruno merci pour le fichier, c’est sympa, il a être vachement utile :D
Aussi, je me joins à ton appréciation du calendrier de Yann :D
C’est Yann lui-même qui est génial, il est franchement extra ;)

Bonne journée à tous, Kim.
 

Kim75

XLDnaute Occasionnel
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonjour Bruno, le forum,

Au risque de te savoir en avoir marre de moi :) je te fais quand même part d’une toute dernière retouche
Je ne connais que très peu de ce que tu fais, mais je me dis que c’est peut être juste un oubli de ta part ;)
Le jour d’aujourd’hui (fond bleu) demeure cliquable dans le moi suivant, ce serait bien s’il ne l’était pas :)

Cordialement, Kim
 

YANN-56

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsoir Kim:), et à tous,

Au risque de te savoir en avoir marre de moi

Surtout pas Bruno, comme bien d'autres n'auront ce sentiment!

Il devient légion le nombre d'XLDNautes qui cessent de participer au regard des malotrus.

Tu n'en es pas un, et il est réjouissant de partager ainsi.

Cependant, avec mon habituelle franchise, je dois ajouter cette remarque:
"Prends-tu la peine de venir par toi-même adapter les codes à tes besoins"

Ne te contente pas d'ajouter une demande
Retourne éventuellement ton essai avec son échec, et sans doute, sinon certainement,
il t'en sera expliqué la raison.

Amicalement,

Yann
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Re,

Le jour d’aujourd’hui (fond bleu) demeure cliquable dans le moi suivant, ce serait bien s’il ne l’était pas
Tu ne serais pas un tantinet ch*ant

Malheureusement, je n'ai pas d'idée de comment effectuer le test pour ce jour là !?
Autant pour les autres je teste la couleur "ForeColor" mais là ...

De toute façon il suffit simplement de re-cliquer sur le bouton pour refaire son choix en cas d'erreur

Cordialement.
 

YANN-56

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Re Kim, Bruno, et à ceux qui passeront par là,

N'en jetez plus, sinon pépé va penser que vous vous payez sa tronche!
(Mais il est vrai que cela fait vachement plaisir)

Le plaisir est surtout de me régaler avec cette belle idée initiale.
D'autant que j'entrevois moult utilisations possibles.
Alerte anniversaire (Avec notion Aujourd'hui, demain, après-demain, dans x jours),
fêtes à souhaiter, calcul des jours ouvrés... Et c.)

En cet instant, je joins la dernière évolution qui tient compte des jours fériés.
(Les couleurs sont laides, mais elles me servent de repères)

Ces fameuses dates de Pâques sont issues de la Feuille "DONNEES", donc limitées.

J'ai retrouvé une traduction en VBA de l'Algorithme de Oudin faite par ROGER2327
http://www.excel-downloads.com/forum/152643-recherche-dans-une-plage-de-donnees-2.html#post915209

Pour info: Détail ici:
http://fr.wikipedia.org/wiki/Calcul_de_la_date_de_P%C3%A2ques

Il va donc être possible d'automatiser le calcul et s'abstenir de fouiller dans une base.

Passionnant! N'est-il pas?

Je joins un exemple adapté de ce calcul, et de ma dernière version (Qui n'en tient pas encore compte)

J'y retourne pour l'intégrer dans ma bidouille.

Amicalement,

Yann
 

Pièces jointes

  • CALCUL_PAQUES.xls
    26.5 KB · Affichages: 152
  • PERPETUEL_28_06.xls
    164 KB · Affichages: 167
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Re à tous, et regard complice à Bruno,:):):)

Par hommage à Roger2327, je me dois de partager cette approche efficace pour trouver
la date de Pâques qui va déterminer toutes les fêtes religieuses qui s'en suivent.

Outre les grasses matinées qui en découlent, cela va bien servir à poursuivre nos projets.

N'est-il pas?

A plus tard, je l'espère,

Yann
 

Pièces jointes

  • CALCUL_PAQUES-bis.xls
    40.5 KB · Affichages: 145

Modeste geedee

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsour®
../..
,
je me dois de partager cette approche efficace pour trouver
la date de Pâques qui va déterminer toutes les fêtes religieuses qui s'en suivent.
../..

:cool: à-propos de partage voir également ici :

Les jours fériés et fêtes chrétiennes en France (sans macros) + résultats du concours international "formule pour trouver la date de pâques" (de Frank Herber MVP germanique)
Ce lien n'existe plus
 

david84

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonjour à tous,

résultats du concours international "formule pour trouver la date de pâques" (de Frank Herber MVP germanique)
Merci Modeste Geede pour ces fichiers.
J'ai testé la plupart des formules (cf.fichier) : contrairement à celle de Roger2327 qui donne les bons résultats sur les années 1900 à 2400 (basé sur l'algo de Oudin), aucune parmi celles testées ne semble être totalement fiable.
@Bruno :
J'y ai bien pensé, problème, c'est que ControlTipText n'accepte pas le retour à la ligne
Alors, je ne te raconte pas lorsque que pour le même jour tu as un dizaine d'infos
Perso, j'ai donc conservé la MsgBox
Ok
Envoyé par david84
-ton calendrier va jusqu'à l'année 2100 : attention car la fonction utilisée pour le calcul de Pâques n'est pas bonne pour l'année 2100. Donc, soit tu enlèves 2100, soit tu devras changer de fonction.
Peut-être bien, mais d'ici là, je serais mort et Excel ne sera peut-être plus
Peut-être (sûrement même !) mais autant utiliser un algo qui ne te ramène aucune erreur (et c'est le cas de l'algo de Oudin).

Pas trop le temps en ce moment mais je referai des tests plus tard.
Bon courage à tous.
A+
 

Pièces jointes

  • Test_Paques_formules.xlsx
    131.4 KB · Affichages: 156

Modeste geedee

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsour®
Bonjour à tous,
Merci pour ces fichiers.
J'ai testé la plupart des formules (cf.fichier) : contrairement à celle de Roger2327 qui donne les bons résultats sur les années 1900 à 2400 (basé sur l'algo de Oudin), aucune parmi celles testées ne semble être totalement fiable.

j'en suis bien conscient, (en 2079 j'aurai 130 ans;), d'ici là "ils" ont la possibilité de bousculer la planete, dévier les astéroides ou nous anéantir:()
Les vraies dates de paques sont fondées sur le comput éclésiastique, chose qui est compliquée de traduire en fonction (bravo Roger2327) et bien plus difficile de traduire en formule...

:cool: nous restons donc en attente d'une formule basée sur l'algorithme de oudin...
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Re
nous restons donc en attente d'une formule basée sur l'algorithme de oudin...
Comment ça ? Celle de Roger est une formule basée sur l'algorithme de oudin...
A+
 

Modeste geedee

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsour®
Re

Comment ça ? Celle de Roger est une formule basée sur l'algorithme de oudin...
A+
:cool:

Quand je dis "formule" c'est sans passer par VBA, de nombreux utilisateurs n'ont pas la possibilité d'activer les macros :)(décision des DSI)

je faisais référence à :
https://www.excel-downloads.com/threads/recherche-dans-une-plage-de-donnees.152643/
qui est une fonction que l'on appelle affectivement ensuite comme une formule, mais ce n'est pas une formule au sens strict du terme limité aux seules fonctions de feuilles de calcul
 

YANN-56

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonjour à tous,

Dans le lien que j'ai donné ci-dessus, relatif au Post de Roger,
vous avez la solution en Formule dans son Poste précédent.

http://www.excel-downloads.com/forum/152643-recherche-dans-une-plage-de-donnees-2.html#post915200

Je suis infichu de la mettre en application, car je ne sais rien faire sur une feuille.

Il n'en demeure pas moins que dans mon exemple,
la macro n'est que sa traduction en VBA, comme il l'a démontré.:eek:

J'avais aussi ajouté ce lien dont l'explication est bien détaillée.
http://fr.wikipedia.org/wiki/Calcul_de_la_date_de_P%C3%A2ques

Mes tests pour la période allant de 2000 à 2022 sont probants!
Sauf que je n'ai pas autres sources pour en prouver la véracité.

Que faut-il de plus? Ou; il aurait-il un doute pour 2050? (Voire 1950) :confused:

Amicalement,

Yann
 

david84

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Re
Voici la formule sans besoin de passer par VBA (placer l'année en A3) :
Code:
=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+("22/3/"&A3)
En fait, j'étais arrivé à la même formule de mon côté lors de l'élaboration de mon fichier Calendrier glissant sans formules ici.

Puis ayant découvert celle de Roger, je l'ai utilisée (puisque sa production était antérieure à la mienne).
Mes tests pour la période allant de 2000 à 2022 sont probants!
Sauf que je n'ai pas autres sources pour en prouver la véracité.
Testée sans erreur sur une plage allant des années 1900 à 2400.

A+
 

Modeste geedee

XLDnaute Barbatruc
Re : Userform Calendrier avec jours fériés (sans API ni DTPicker)

Bonsour®
Re
Voici la formule sans besoin de passer par VBA (placer l'année en A3) :
Code:
=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+("22/3/"&A3)
En fait, j'étais arrivé à la même formule de mon côté lors de l'élaboration de mon fichier Calendrier glissant sans formules ici.

Puis ayant découvert celle de Roger, je l'ai utilisée (puisque sa production était antérieure à la mienne).

Testée sans erreur sur une plage allant des années 1900 à 2400.

A+

Mea culpa...
bien vu

:rolleyes: allez histoire de chinoiser, la formule n'est pas portable sur un PC US ou GB (dates MJA)...

:) correctif :
Code:
=MOD(2*MOD(A3;4)+4*MOD(A3;7)+6*(SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30))))+MOD(6+ENT(A3/100)-ENT(A3/400)-2;7);7)+SI(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=29;28;SI(ET(MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)=28;MOD(A3;19)>10);27;MOD(MOD(15+ENT(A3/100)-ENT(A3/400)-ENT((8*(ENT(A3/100))+13)/25);30)+19*MOD(A3;19);30)))+DATE(A3;3;22)

:cool:j'adore ce genre d'émulation...
 

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87