Prise en compte d'une information suivant une date

Bonjour à tous,

J'ai deux petits soucis dans mon fichier que je n'arrive pas à gérer :

1er : au niveau de la date de réservation, quand on arrive à la date du jour de la réservation l'information dans le userform2 doit disparaître

2ème : lorsque je réserve le matériel à 2 dates différentes, j'aimerais que la première date de réservation soit prise en compte et non la dernière.

Merci d'avance pour votre aide.

Bonne soirée

Bonsoir

Peux tu donner des précisions pour tes 2 cas je n'ai pas tout compris.

Le cas 1 : Peux tu préciser quel champ et ou il se trouve doit être à null si = a la date du jour

2ème : lorsque je réserve le matériel à 2 dates différentes, j'aimerais que la première date de réservation soit prise en compte et non la dernière. => Ou ?

cdt,

Bonjour,

Effectivement après relecture ma demande n'est pas très claire!!

Dans le cas n°1, au niveau du Userform 2 apparaît une fenêtre "Réservation de matériel" quand il y a forcément une réservation (elle n'apparaît pas quand le matériel n'a pas été réservé). J'aimerais donc que cette fenêtre s'enlève dès lors que nous arrivons au jour J et même après la date de résa.

Dans le cas n°2 : Idem j'aimerais que cette information soit identifiable dans le Userfom2 dans la fenêtre "Réservation de matériel". Il faut que la réservation apparaisse en fonction de la première date de résa et non la dernière (exemple : 2 réservation une au 10/10 et l'autre au 18/10, devra apparaître en premier celle du 10/10 puis une fois que la date est dépassée devra apparaître celle au 18/10).

J'espère que mes explications sont un peu mieux que celle d'hier!!!

Bonne journée.

Bonjour,

Je me joins à votre conversation, j'ai regardé un peu tes formulaires et tes explications, je vais essayer de reformuler la demande...

1er souhait : En clair tu souhaites que la fenêtre réservation n'aparaisse pas si aucune date de réservation n'est strictement supérieure à la date actuelle? Et on pourrait même griser voir enlever le bouton, ou bien bloquer l'ouverture avec un message explicatif.

--> Il faut "compter" les dates supérieures à la date actuelle via une fonction, on part du principe qu'on a pas de dates supérieures, dès qu'on trouve une date, on quitte la fonction qui renvoie vrai, sinon elle renvoie faux, on peut l'appeler AReservation() et la déclarer as boolean.

2ème souhait : Tu souhaites voir la date la plus proche qui est supérieure ou égale à la date actuelle?

--> On peut passer aussi par une fonction, tu lui donnes en String (chaine de texte) le nom du matériel, puis elle fait un premier tableau qui contient les dates supérieures ou égales à la date actuelle, puis tu fais une fonction min dessus (via programme ou via fonction), et tu auras ton résultat, si on a aucune valeur dans le premier tableau, on quitte la procédure et la fonction ne renvoie rien.

J'ai bien compris?

Bonjour,

Oui c'est bien cela, tu as tout compris.

Merci pour votre aide!!

Bonne journée.

Rebonjour,

Je viens d'avancer un peur sur le sujet, et j'ai donc fais un programme avec une variable globale (pour ne pas avoir à recalculer à chaque fois) qui met à jour sa valeur à chaque fois que le premier formulaire est affiché.

Cette variable sert à dire si on peut ou non ouvrir la réservation, et affiche un message si ce n'est pas possible, j'ai fait le test en changeant tes dates pour les mettre en septembre au lieu d'octobre, et j'ai bien le message qui s'affiche, tu peux tester par toi-même, il reste à faire le deuxième point maintenant...

Je te laisse tester avec le fichier :

Bonjour une deuxième fois (double poste nécessaire pour voir que j'avance).

Finalement je ne suis pas sûr d'avoir bien compris ta première demande, tu me diras... Parce que tu réserves via le formulaire que tu bloques si tu n'as pas de réservation... Pas sûr que c'était ce que tu veux faire... Sinon tu avais un problème avec tes dates dans la feuille "RESERVATION", comme elles étaient sous forme de texte je ne pouvais pas faire de formule matricielle combinant un MIN et un SI à plusieurs conditions, parce que tu ne peux pas faire de minimum sur des valeurs textuelles, le soucis venait de ton bouton enregistrer qui faisait Me.textbox ... les textbox contiennent du texte, et si tu ne convertis pas ces valeurs, elles te donnent du texte, du coup j'ai rajouté un Cdate dans la procédure, ça devrait fonctionner maintenant.

Du coup j'ai modifié ta formule dans date réservation dans ta base de données, tu as bien la plus petite date supérieure à la date d'aujourd'hui pour le produit concerné

Merci de me faire un retour :

re-bonjou !!

Effectivement ta deuxième solution correspond plus à mon attente.

A la base je ne voyais pas d'autre solution que de créer un formulaire pour effectuer une réservation.

Mon formulaire Userform2 sert pour gérer les sorties et rentrées de matériel en prêt. Les réservations sont ponctuelles et très peu demandées d'où la facilité d'un deuxième formulaire (pour ma part!!)

Si tu as une autre solution, je suis preneuse

Sinon, les dates n'apparaîssent pas dans le bon format dans le formulaire.

Rebonjour,

En effet, les dates apparaissent en valeur numériques!

La solution peut-être de passer par un ensemble de fonctions :

DateTime.day()

DateTime.month()

DateTime.year()

Sinon tu as peut-être des fonctions pour directement convertir une date en texte, mais je n'en n'ai pas en tête pour le moment, en tout cas, c'est le but final, pour l'affichage, afficher en texte ta date

ça me va en tout cas de passer par un formulaire pour réserver

Bonjour,

Un grand merci pour votre aide, problème résolu !!!

Bonne journée

Bonjour Christram78 ,

tu a écrit :

problème résolu !!!

➯ pour passer le sujet en résolu, tu dois cliquer sur le bouton (dans le coin haut droit du post qui a résolu ton exo) ; ça permet aussi de clôturer le fil de la discussion ; tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :

sujet

(toi seul peut le faire, car c'est toi qui a créé ce sujet)

dhany

Rechercher des sujets similaires à "prise compte information suivant date"