XL 2010 Déterminer disponibilité de place

cp4

XLDnaute Barbatruc
Bonjour,
J'ai voulu aidé cependant mes modestes connaissances ne m'ont pas permis de trouver une solution.
Comme je ne lâche pas facilement le morceau (dans même esprit du Dr Pol), je sollicite votre aide.
La problématique est la suivante, une association organise des séjours dans des centres limités en nombre de classes ou d'enfants. Classe ou enfant car les classes ont des nombres d'enfants différents (grosse classe ou petite classe).

Avec un formulaire, on choisit le centre concerné, le thème (activité), une date de début et une date de fin.

Au choix du centre, une listbox est filtrée. Je ne parviens pas à trouver le bon code pour faire la somme des colonne nbClas et NbEnf avec comme critères les textboxs "TxtDateDepart" et "TxtDateRetour".

Pour info, la durée des séjours est minimum 2 jours et 10 jours max. Le centre peut recevoir le même jour, le même nombre de classes partantes.

Pour mieux comprendre, prendre le cas du centre "La clairière" les date allant du 01/04/2024 à 08/04/2024 (Total de classe 5 donc on pourrait en rajouter 1 et le nombre total d'enfants est de 153 (reste place pour 27 enfants).

Toute cette gymnastique pour autoriser l'ajout d'un séjour pour la même période ou rejeter et informer l'utilisateur du dépassement de la capacité du centre.

En espérant avoir été clair. En vous remerciant par avance.

nb: je suis ouvert à toute proposition.

Bon week-end.

edit: classeur remplacé
 

Pièces jointes

  • 1erClasseur.xlsm
    83.8 KB · Affichages: 7
Dernière édition:
Solution
Bonjour Christophe,

* réglages divers faits
* simple clic sur le cadenas pour le refermer
* 2 autres cases à cocher avec 2 autres logo (légendes en haut à droite du mois n°1)

On ne devrait pas être loin de la conclusion de l'affaire il me semble, et dans ce cas on va pouvoir demander à @cp4 de clore le fil (sans oublier de le remercier pour son analyse pertinente du sujet)
P56

TooFatBoy

XLDnaute Barbatruc
Bonjour,

je suis ouvert à toute proposition.
Passe boire un coup chez moi. 🍻


Sinon, pour ta question, est-ce que ce n'est pas en réalité encore un peu plus complexe que ce que tu décris ???
Ne faut-il pas calculer le nombre de classes et le nombre d'élèves pour chaque jour de la période saisie et ne retenir que le nombre le plus grand ?
 
Dernière édition:

cp4

XLDnaute Barbatruc
Bonjour,


Passe boire un coup chez moi. 🍻


Sinon, pour ta question, est-ce que ce n'est pas en réalité encore un peu plus complexe que ce que tu décris ???
Ne faut-il pas calculer le nombre de classes et le nombre d'élèves pour chaque jour de la période saisie et ne retenir que le nombre le plus grand ?
Bonjour @TooFatBoy ;),

Content que tu fasses parti du fil.
Passe boire un coup chez moi. 🍻
Je n'y ai plus droit depuis un bout de temps (tabac et boisson interdits). Merci quand même.
Ne faut-il pas calculer le nombre de classes et le nombre d'élèves pour chaque jour de la période saisie et ne retenir que le nombre le plus grand ?
Il se pourrait que ça soit une solution.
Ne faut-il pas calculer le nombre de classes et le nombre d'élèves pour chaque jour de la période saisie et ne retenir que le nombre le plus grand ?
Le problème réside dans la détermination de la période.
Exemple pour le centre la clairière:
J'ai repéré à droite en jaune la période qui va du 05/04/2024 au 15/04/2024.
Les arrivées se font dans cette exemple échelonnées à 1jour d'intervalle:
2 classes arrivent le 05/04/2024 et partent le 12/04/2024
1 classe arrive le 06/04/2024 et part le 13/04/2024
2 classes arrivent le 07/04/2024 et partent le 15/04/2024
on peut ajouter une classe du 04/04/2024 au 16/04/2024
ou du 08/04/2024 au 17/04/2024.
Comme le même jour le centre peut recevoir autant de classes partantes.
En effet, 2 classe sont partant le 12/04/2024 et sont remplacées par celles du 12/04/2024 au 15/04/2024 et du 12/04/2024 au 16/04/2024
Pour cette période on peut ajouter 1 classe de 35 enfants.

Toute la difficulté réside dans la comparaison des dates de départ et retour avec celles se trouvant dans la BD. Dés fois la date de départ est à l'intérieur de plage de dates d'autre fois à l'extérieur.

En espérant que c'est un peu plus clair.

Bonne soirée.
 

TooFatBoy

XLDnaute Barbatruc
Toute la difficulté réside dans la comparaison des dates de départ et retour avec celles se trouvant dans la BD. Dés fois la date de départ est à l'intérieur de plage de dates d'autre fois à l'extérieur.
Ça correspond à ce que je disais : faire le total pour chaque jour de la pésaisie dans le UserForm.


Comme le même jour le centre peut recevoir autant de classes partantes.
Ça en revanche, je ne l'avais pas pris en compte, et ça complique encore un peu plus le problème... Du coup, je ne vois vraiment pas comment le résoudre. 😕
 

p56

XLDnaute Occasionnel
Bonjour à tous,

Pour avoir déjà fait des appli similaires, je me permets d'intervenir sur ce sujet.

Pour objectiver des dispo de places, il est possible de positionner les réservations sur un planning.
Ici avec un extrait des données proposées, voici un exemple de planning avec comptage du nb de classes et du nb total d'élèves par jour.
Une simple MFC (police en rouge et gras) montre ici dans l'exemple que les 13 et 14 avril, il y a surcharge.

Capture d’écran 2024-03-24 175054.jpg


Dans cette proposition :
* le planning permet de visualiser les créneaux libres et ceux occupés
* la saisie passe par une sélection de plusieurs jours sur une ligne d'un centre
* chaque ligne d'un centre contient autant de "lignes de dispo" que de classes maxi possible
* une réservation pour plusieurs classes est figurée par une ligne de réservation avec hauteur proportionnelle au nb de classes

Capture d’écran 2024-03-24 180629.jpg

Pas de fichier pour l'instant, il n'est pas finalisé
Est-ce que ça peut intéresser? (sinon je peux me retirer sans problème)
P.
 

cp4

XLDnaute Barbatruc
Bonjour à tous,

Pour avoir déjà fait des appli similaires, je me permets d'intervenir sur ce sujet.

Pour objectiver des dispo de places, il est possible de positionner les réservations sur un planning.
Ici avec un extrait des données proposées, voici un exemple de planning avec comptage du nb de classes et du nb total d'élèves par jour.
Une simple MFC (police en rouge et gras) montre ici dans l'exemple que les 13 et 14 avril, il y a surcharge.

Regarde la pièce jointe 1193470

Dans cette proposition :
* le planning permet de visualiser les créneaux libres et ceux occupés
* la saisie passe par une sélection de plusieurs jours sur une ligne d'un centre
* chaque ligne d'un centre contient autant de "lignes de dispo" que de classes maxi possible
* une réservation pour plusieurs classes est figurée par une ligne de réservation avec hauteur proportionnelle au nb de classes

Regarde la pièce jointe 1193471
Pas de fichier pour l'instant, il n'est pas finalisé
Est-ce que ça peut intéresser? (sinon je peux me retirer sans problème)
P.
Bonsoir @p56 ;):cool:,

Merci de ton implication. Je suis ouvert à toutes propositions.
En toute franchise, ce n'est pas pour moi (j'ai voulu aidé hélas, je suis resté bloqué. cette discussion).
J'étais parti sur un formulaire que tu trouveras dans le fichier (UsfValid1).
J'avance petit à petit avec d'autres idées, je ne sais si elles vont aboutir.

Merci beaucoup. Je suis impatient de découvrir ta solution.

Bonne soirée.
 

p56

XLDnaute Occasionnel
Bonjour à tous,

Alors après avoir parcouru la discussion d'origine, je comprends mieux.

Voici mon fichier finalisé (fait rapidement sur l'heure de midi, donc un peu à l'arrache => défauts probables) :
* 3 onglets : "Bdd" masqué, "config" et le planning
* planning pour 8 centres sur 2 mois glissants
* la saisie se fait via le planning par sélection d'une plage de temps sur une ligne d'un centre (2 case minimum) => ouverture de l'usf
* sur l'usf :
-- quelques champs à saisie obligatoire
-- les dates sont celles correspondant à la plage de temps sélectionnée (évite un datepicker quelconque)
-- les quantités se saisissent via des toupies => ce qui permet de limiter la saisie aux quantités restantes maxi disponibles pour le centre en question
* les quelques données de test seront à effacer ultérieurement

Voilà pour l'essentiel.
Sinon pour ce qui est des autorisations d'accès, voici mon point de vue : un malfaisant saura toujours perturber un fichier, un maladroit sera toujours maladroit et ce quelque soit le niveau de prétendue protection mis en place. On gagne toujours du temps et de l'énergie à laisser tout ouvert et à responsabiliser les utilisateurs, sans oublier de faire des sauvegardes régulières. Après chacun fait ce qu'il veut.

Maintenant, faut-il continuer sur l'autre fil?
P.
 

cp4

XLDnaute Barbatruc
Bonjour à tous,

Alors après avoir parcouru la discussion d'origine, je comprends mieux.

Voici mon fichier finalisé (fait rapidement sur l'heure de midi, donc un peu à l'arrache => défauts probables) :
* 3 onglets : "Bdd" masqué, "config" et le planning
* planning pour 8 centres sur 2 mois glissants
* la saisie se fait via le planning par sélection d'une plage de temps sur une ligne d'un centre (2 case minimum) => ouverture de l'usf
* sur l'usf :
-- quelques champs à saisie obligatoire
-- les dates sont celles correspondant à la plage de temps sélectionnée (évite un datepicker quelconque)
-- les quantités se saisissent via des toupies => ce qui permet de limiter la saisie aux quantités restantes maxi disponibles pour le centre en question
* les quelques données de test seront à effacer ultérieurement

Voilà pour l'essentiel.
Sinon pour ce qui est des autorisations d'accès, voici mon point de vue : un malfaisant saura toujours perturber un fichier, un maladroit sera toujours maladroit et ce quelque soit le niveau de prétendue protection mis en place. On gagne toujours du temps et de l'énergie à laisser tout ouvert et à responsabiliser les utilisateurs, sans oublier de faire des sauvegardes régulières. Après chacun fait ce qu'il veut.

Maintenant, faut-il continuer sur l'autre fil?
P.
Bonjour,

Je te remercie pour tes efforts. Je suis un peu débordé. Je consulterai ton fichier ce soir.
Je vais communiquer le lien vers ton post au demandeur. Il verra bien bien si ça lui convient. C'est lui et ses collègues les utilisateurs du fichier.

bonne journée.
 

cp4

XLDnaute Barbatruc
Je n'ai pas pu m'empêcher d'ouvrir ton fichier alors même que j'étais sur le point de sortir.
Mais le code plante à l'ouverture du formulaire. Je n'ai pas trouvé de bouton ou forms qui l'ouvre.
Erreur 13 incompatibilité de type (Tatiak, je connais bien son blog).
1711372677175.png

A+
 

p56

XLDnaute Occasionnel
??
Alors avec tests et re-tests sur plusieurs PC de Office 2007 à Office 2016, je n'arrive pas à reproduire ce défaut.

Voici une version avec un essai d'amélioration (sans conviction, ni certitude)
Si défaut toujours présent, il faut m'indiquer précisément la sélection (ligne et colonnes) qui a conduit à ce message. Une copie d'écran serait un plus (montrant le planning à partir de B, la sélection et le message du défaut)

Sinon, l'usf s'ouvre par sélection et/ou après clic sur un histogramme existant
(pas de bouton dédié : ce serait contraire au principe de saisie des dates et du site)

P. (tatiak)
 

cp4

XLDnaute Barbatruc
??
Alors avec tests et re-tests sur plusieurs PC de Office 2007 à Office 2016, je n'arrive pas à reproduire ce défaut.

Voici une version avec un essai d'amélioration (sans conviction, ni certitude)
Si défaut toujours présent, il faut m'indiquer précisément la sélection (ligne et colonnes) qui a conduit à ce message. Une copie d'écran serait un plus (montrant le planning à partir de B, la sélection et le message du défaut)

Sinon, l'usf s'ouvre par sélection et/ou après clic sur un histogramme existant
(pas de bouton dédié : ce serait contraire au principe de saisie des dates et du site)

P. (tatiak)
Bonsoir @p56 ;) ou Tatiak;) à ta guise:cool:,

Je te confirme que cette dernière version ne plante pas.
Mais comment ajouter un nouveau séjour. Un séjour se termine, il faut bien insérer de nouvelles données dans la bd. Désolé, je n'ai pas ton niveau pour déduire par intuition le fonctionnement de ton fichier.
Je salue ton beau travail.
Encore merci pour ce partage. J'ai mis le lien vers ce fil dans l'autre fil. Le demandeur est très lent à la détente.
 

Tophe2

XLDnaute Impliqué
Bonjour CP4, P56, TooFatBoy,
Tout d'abord merci à vous, effectivement je suis moins réactif actuellement, désolé.

le fait d'être visuellement informer d'un dépassement est super je viens d'ajouter directement dans la BDD des classes et j'ai pu modifier le nombre d'enfant..... ajouter et modifier le nom des anim...... directement sur l'USF existe t il une raison pour faire deux mois par feuille ou pourrait on en avoir plus ?

on ne peut pas modifier la date directement dans l'USF mais uniquement via la BDD c'est bien cela ?

super proposition, quel beau travail.

je ne souhaite pas que ma demande soit mal interprété mais est il envisageable de garder à l'esprit d'avoir des valideurs pour toutes les étapes (Affectation des classes, puis positionnement des animateurs et en dernier les animateurs spécialiste comme le proposer CP4 dans son fichier (qui est super également) et de pouvoir voir la composition du séjour dans la bulle du planning pas uniquement le nom de la classe.

Merci et bonne Soirée
 

p56

XLDnaute Occasionnel
@cp4 : tout d'abord merci pour tes tests, c'est toujours utile pour améliorer le code. Et en effet quelques explications sont nécessaires. Voici une image animée pour monter la saisie d'un nouveau séjour =>
Démo_plng1.gif


@Tophe2 : quelques infos sur mes choix =>
* planning de 2 mois : en pratique sur ce type de planning, on arrive très vite à un nombre important d'histogrammes. Si 1 mois ne permet pas facilement d'indiquer un séjour à cheval sur 2 mois, 3 mois ou plus conduit à terme à un ralentissement notable de l'affichage. 2 mois est donc un compromis. Ceci dit les flèches en haut et les pseudo-onglets des mois permettent de naviguer dans le temps (ici sur une trentaine d'années)

* modifications des dates dans l'usf : ici la sélection à la souris détermine la période qui entraine une vérif des places restantes (classes et élèves) sur cette période.
S'il serait possible (et assez facile) d'ajouter de quoi modifier les dates dans l'usf, il serait alors indispensable d'ajouter du code - probablement complexe. Mon choix ici est "de faire simple" (en dehors du codage, j'ai une vie ...)
Donc en bref pour modifier les dates d'un séjour => on supprime ce séjour puis à la place on en crée un nouveau avec les bonnes dates.

* infos visibles dans l'histogramme : pour des séjours courts (d'une semaine ou moins), il est quasi impossible de caser beaucoup d'info. Ici des choix sont à faire.
Si vous m'indiquez 1 ou 2 info à faire figurer à la place de l'école ce sera facile de modifier ce détail, si vous le voulez.

* pour les validations, soyons honnête : je ne sais pas faire (parce que ça ne m'a jamais intéressé). Alors si CP4 veut ajouter cette fonctionnalité, pas de soucis.

Souhaitant que ces explications soient utiles,
P56-Tatiak
 

cp4

XLDnaute Barbatruc
Bonjour,

Merci pour ce complément d'explication.
* pour les validations, soyons honnête : je ne sais pas faire (parce que ça ne m'a jamais intéressé). Alors si CP4 veut ajouter cette fonctionnalité, pas de soucis.
Il faudrait que je comprenne parfaitement tes codes pour essayer d'ajouter la fonctionnalité.
En effet, je ne maîtrise pas du tout les modules de classe (si tu as un tuto ou un cours sous la main).
Ensuite, comme tu l'as si bien mentionné "on a une vie, en dehors du codage".
En tout cas, un grand bravo pour ton travail et ton partage. J'étudierai ton code sérieusement un peu plus tard. Car en ce moment, j'ai mes petits soucis.

Excellente journée à vous.
 

Tophe2

XLDnaute Impliqué
Bonjour CP4, P56,

J'ai bien pris note des informations sur tes choix et je comprends parfaitement.

je viens de m'apercevoir que le niveau de la classe (PS à GS et CP à CM2) n'apparait pas dans la BDD ainsi que le nom de ou des enseignants, est ce envisageable d'augmenter le tableau des données pour y placer ces informations ou faut il passer par une autre BDD Ecole comme l'avait fait CP4 pour les faire apparaitre dans l'USF ?

pour l'affichage dans l'histogramme (d'ailleurs c'est vraiment super), si c'est possible de garder le nom de l'enseignant, commune, noms des animateurs en espérant que ça ne soit pas trop si c'est le cas Enseignant + Nom des animateurs, c'est pour avoir visuellement et rapidement les animateurs\trices qui pourraient manquer si pas de noms et pour répartir au mieux nos équipes en fonction des enseignants et du lieu de départ(commune).

Un grand MERCI à vous pour votre aide
Bonne Journée
 

Discussions similaires

Réponses
3
Affichages
105
Réponses
46
Affichages
1 K
Réponses
5
Affichages
236

Statistiques des forums

Discussions
312 866
Messages
2 093 029
Membres
105 612
dernier inscrit
douboumin