Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 calcul de nombre de lundis ....... dimanches entre 2 dates via un formulaire

  • Initiateur de la discussion Initiateur de la discussion dindin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dindin

XLDnaute Occasionnel
Bonjour le Forum,
j'ai récupéré une fonction sur internet qui sert à calculer le nombres des lundis entre 2 dates.
j'ai essayé de l'adapter dans un formulaire avec des cases à cocher.
lors des plusieurs vérifications, j'ai remarqué que le résultat est parfois erroné, comme dans cette exemple:
1642855676419.png
le formulaire affiche 21 jours si on sélectionne tous les jours de la saamine sachant qu'en réalité il devrait afficher 16.

dans ce prochain exemple on doit calculer les nombre de mercredis , vendredis et samedis entre le 26 janvier et 15 mai, le calcul est juste
1642855968370.png
par l'occasion je tiens à remercier beaucoup le développeur de ce formulaire d'insertion de date qui m'a fait gagné beaucoup de temps dans mon travail de tous les jours
1642856218374.png


Pouvez-vous m'aider à trouver d'où vient l'erreur.
désolé pour ce code trop long, je débuté avec VBA.
je joins le fichier en question
Merci pour votre aide
 

Pièces jointes

Bonjour @patricktoulon

Surtout pour te saluer 🙂😉

Je n'ai pas utilisé de module de classe. Je préférais montrer une méthode en nommant "astucieusement" les contrôles même si ici il est naturel, comme tu l'as fait, d'utiliser un module de classe (en l’occurrence Userform1)
Il faudrait ajouter dans ta solution l'état de l'option "Tous les jours" en fonction de ce que tous les jours sont cochés ou non (un tristate peut-être)
Mais tout ceci n'est que bavardage et titillement 😜. Bonne journée @patrick
 
bonjour @mapomme
oui j'utilise une classe event intra userform
les checkbox lundi à dimanche porte comme tag l'index du jour
le checkbox tout_les_jours met a false ou true tout les autres
dans l'event unique je concat les tag des checkbox qui sont à true
ensuite je boucle de la date1 jusqu'a date2 par pas de 1(jour)
et je détermine l'index de jour avec weekday de chaque date d1 et je test le instr du jour dans le concat
terminé le tour est joué
c'est assez simple comme raisonnement
 
Re @dindin,

Chose promise, chose due 😉.

Un .doc pour les principes.
Un .xlsm avec le code commenté.

nota: si pas clair, me le signaler...
Bonjour Mapomme

Il faut rendre à César ce qui appartient à César

je viens de rajouter votre formulaire à mon fichier de travail en mentionnant votre pseudo


avec tous mes remerciements pour cet excellent travail
un grand merci aussi à

patricktoulon pour son code aussi excellent​


Dindin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
237
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…