Amélioration d'un fichier calendrier de réservation

Bonjour Eriiic et les autres,

suite de https://forum.excel-pratique.com/excel/traduction-formule-de-date-excel-en-vba-t62677.html

J'ai allégé le fichier afin que vous puissiez y jeter un œil.

De fait, le calendrier est un calendrier année civile donc pas besoin de faire attention aux valeurs de fin ou début d'année.

Reste que si vous voyez comment faire pour compléter, faites-vous plaisir

Autre question:

Je me demandai, comment faire pour que lorsque je planifie tout les mois, je puisse avoir la valeur du jour plutôt que le numéro du jour les mois suivants.

De fait, si je choisis le mardi 3 mars et que je veux que le RDV se répète pendant trois mois soit jusqu'en juin la date du premier mardi n'est pas le 3 mais le 2.

Actuellement, la répétition se fait tout les 3 du mois... donc avec des décalages de journées

Si vous voyez comment faire pour compléter, faites-vous plaisir

Voilà

A vous relire,

Cordialement,

Leakim

Re,

Il est joli ton fichier, mais en dehors du fait qu'il a fallu que je remette mscomct2.ocx il plante chez moi lorsque je clique sur Réserver...

Private Sub UserForm_Initialize()
...
Me.CommandButton_repeter.Visible = False

"Membre de méthode ou de données introuvable"

Le bouton n'existe pas.

eric

Bonsoir eriiic et les autres,

Merci pour commentaires esthétiques, je ne suis pas surpris que fichier bug un peu, je m'en excuse pour autant

Je le remets en lien, merci

Quelles modifications dois-je faire dans mon code pour parvenir à l'exactitude des formules excel tel que

2eme mardi de juin
=(2*7)+DATE(AN;6;1)-JOURSEM(DATE(AN;6;1)-2;2)
2eme dimanche de septembre
=(2*7)+DATE(AN;9;1)-JOURSEM(DATE(AN;9;1)-7;2)

Merci pour ta sollicitude.

Cordialement,

Leakim

Bonjour,

J'ai préféré faire ma propre fonction car cette formule me parait avoir été faite par ajustements, et avec les dates on a parfois des surprises avec des cas particuliers situés plus loin dans le temps.

Mais du coup il faut la valider par des contrôles plus poussés.

eric

Bonjour,

Merci pour ton implication, je me demande comment de vais pouvoir intégrer cette fonction dans mon code???

Si tu as une idée...

Leakim

Re,

Une façon :

Déjà dans le formulaire j'ajouterai un textbox pour le nombre de mois de réservation, ou bien tu le calcules avec dates début et fin : nbMois.

Lors de la validation tu récupères la date1 de la première réservation,

et tu fais une boucle for nbRes = 0 to nbMois-1

appelant la fonction en lui passant en paramètre la date1 et le nombre de mois de décalage (nbRes), date résultat que tu réserves au fur et à mesure.

Pense à traiter l'erreur #NOMBRE! si c'est la 5e semaine du mois qui est choisie.

D'ailleurs une petite remarque suite à l'essai de ton fichier.

Lorsqu'on valide tu mets un textbox avec oui seulement comme choix.

Je verrais bien dedans les dates début et fin et la possibilité d'annuler si on voit qu'on a oublié de choisir une des dates.

eric

Bonsoir,

Je vais bosser dessus et je te redis.

Pour la textbox, en faite j'ai mis une combobox avec le choix des mois. Comme la zone de la combo est dynamique lors de l'affichage il y a forcément le mois qui est en cours donc la valeur index combo est 1 etc... Donc pas de textbox mais une "combobox_month"...

Je fais faire des essais.

Pour que tu y vois mieux je te joins en MP le lien fichier.

eriiic a écrit :

Je verrais bien dedans les dates début et fin et la possibilité d'annuler si on voit qu'on a oublié de choisir une des dates.

Qu'est ce que tu entends par là ???.

Cordialement,

Leakim

Re,

Voilà ce que tu envoies :

2015 04 01 23 36 22

Je verrais bien :

Réservation du : 01/04/15

Au : 29/04/15

De 10:00 à 11:00

Annuler OK

Car tu contrôles bien la saisie des listes mais pas ces champs que je peux avoir oublié de modifier.

Avec un récapitulatif je sais ce que j'ai saisi (ou oublié). C'est juste un détail.

eric

Bonjour,

C'est pas un détail... c'est une super idée !!!

Reste que maintenant je vais me mettre la tête à l'envers pour réaliser tout çà

A moins que tu aies un idée pour mettre en place?

Leakim

Bonjour,

Ben ce n'est que du texte.

Et ne réserver que si OK, si Annuler retourner au userform.

Qu'est-ce qui te bloque ?

eric

Salut Eriiic,

Hier matin et toute la journée pas les idées très claires

J'ai repris ton idée et çà colle

Je te fais savoir mon avancé prochainement,

Merci.

Leakim

Bonjour,

J'ai avancé sur mon projet...

J'ai réussi à mettre en place un calendrier sans le module activeX, grâce du soutien sur un autre forum.

Je cale sur le la mise en place de la fonction perso moissuivant.

A voir si c'est possible d'intercaler la fonction dans le code...

http://www.cjoint.com/15av/EDlxEMYpl28.htm

Cordialement,

Leakim

Bonjour leakim,

Déjà met Dim i as Long, la fonction n'aime pas Integer, je ne sais pas pourquoi il ne converti pas tout seul.

En plus ça ne sert à rien. Ca fait perdre du temps au lieu d'en gagner, vba converti toujours les entiers en Long.

Le principe, une simple boucle :

Dim dateReserv as Date
        If Me.OpB_allmonth = True Then
          For i = 0 To ComboBox_month.ListIndex
            dateReserv = moisSuivantMmJS(ladate, i)
            'réserver la date fournie par moisSuivant()
            ' je ne sais pas quel code
            ' ...
          Next i

Par contre ladate que je supposais être celle sélectionnée sur le calendrier est le 1er du mois (?). Mettre la bonne date.

Et contrôler que ComboBox_month ait bien été sélectionné si OpB_allmonth = True sinon on ne passe pas dans la boucle.

eric

PS: je viens de lire un peu plus bas ton code.

Il faudrait que tu ressortes dans une autre procédure le contrôle et la réservation d'une date pour pouvoir l'appeler à plusieurs reprise.

eric

Bonjour,

Je poursuis dans ce sens,

Merci,

Leakim

Rechercher des sujets similaires à "amelioration fichier calendrier reservation"