XL 2019 Remplir plusieurs labels d'un Useform avec les dates d'un calendrier automatique

Clemee61

XLDnaute Junior
Bonjour,
J'ai un fichier Excel dans lequel j'ai crée une fiche d'inscription. Lorsqu'une personne se présente elle donne ses coordonnées que je rempli dans des texteBox et j'ai besoin de mettre une date d'arrivée et de départ. J'ai mis un calendrier automatique qui fonctionne car j'ai repris le travail d'un internaute mais sans le maitriser. J'essai de faire appel à ce même calendrier pour remplir d'autre case (en jaune dans ma fiche). Je ne m'en sors pas.
J'ai essayé de repartir d'autres exemples trouvés sur le forum mais rien y fait. Je suis bloqué depuis une semaine.
Quelqu'un peut-il m'aider ?
Je joins mon fichier avec tout le code (c'est un peu une usine à gaz mais j'ai mis en jaune "pétant" les cases incriminées !)
Cordialement,
Cédric
 

Pièces jointes

  • Inscriptions 2023 H.xlsm
    442.9 KB · Affichages: 33

vgendron

XLDnaute Barbatruc
alors voici une V11

1) quand tu saisis le nombre de cours de natation dans les frames enfant, le tarif est mis à jour selon la grille
2) quand tu saisis le nb de parasol et la durée, le tarif est mis à jour selon la grille
3) idem pour les sièges

Comme il y a des controles en plus.. j'ai ajouté les colonnes correspondantes dans les tables excel..

4) TOUS les calculs de total sont effectués avec le bouton "Calculer" à droite
j'ai laissé les deux calculs "Avant et après remise " (de toute facon, les deux doivent etre calculés)
par défaut, c'est celui avec remise qui est copié dans le Total_Club

bizarre.. je croyais que tu avais dit que la réduction des 5 10 15% était appliquée lorsque les gens venaient sur un second séjour...==> bref.. tu as toujours le choix avec l'option bouton
 

Pièces jointes

  • Inscriptions 2023 H Ver11.xlsm
    335.7 KB · Affichages: 2

Clemee61

XLDnaute Junior
Chouette !

Le 1), le 2) et le 3) Top ! 👍

Bizarre : depuis le début je vois bien qu'il y a un quiproquos mais non dès le premier séjour le client bénéficie d'une réduction sur la durée et sur le nombre d'enfant. Au deuxième séjour il a la même chose mais comme s'il n'y avait pas eu d'interruption de séjour. Bref c'est bon comme ça.

Je pense que je vais mettre le bouton "calculer" à la place du label TOTAL. Comme ça je pourrais faire disparaître visuellement la partie droite (la frame 6)

Il y a un problème avec le code du bouton "calculer". Quand je clique dessus il fait les calculs et m'indique un bug en me renvoyant sur la ligne suivante --> (Me.Txt_Doit = Format(CDbl(Me.Txt_TOTAL) - CDbl(Me.Txt_Paiement), "0.00€")

Du coup je n'ai pas pu vérifier mais lorsque je fais un rappel de fiche (bouton "Aller"), je ne voudrais pas que la frame séjour 1 se remplisse avant que je ne clique sur le bouton "recopier données"

A bientôt 😃
 

vgendron

XLDnaute Barbatruc
correction pour le bug qui intervient quand la boite "Paiement" est vide

attention: si tu supprimes les controls de calculs à droite, ca ne fonctionnera plus, puisqu'ils sont utilisés pour alimenter la frame "Tarif et paiement"

tu peux par contre, les mettre aussi dans une frame que tu rends invisible
ca te permettra au besoin de les rendre à nouveau visible pour controler/ visualiser les calculs..

le bouton "Calculer": tu peux le déplacer
 

Pièces jointes

  • Inscriptions 2023 H Ver11.xlsm
    335.3 KB · Affichages: 2

Clemee61

XLDnaute Junior
Super merci,

J'ai fait un peu de modif visuel : 🎨👨‍🎨
J'ai supprimé toutes les cases inutiles : les jaune et le calcul de l'addition dans la frame Tarifs et paiement.
J'ai modifié la couleur de fond de la frame 1er séjour et réduit l'USF pour que les calculs disparaissent visuellement.
J'ai débloqué les lignes pour fermer le formulaire après clic sur les boutons "Nouveau", '"Modifier"

Reste le problème du premier séjour :
- Je crois que ce serait mieux si les frames vides des enfants ne disparaissent pas au clic sur "Aller" (même si ça a beaucoup impressionné ma femme 🤣)
- Lorsque je rappelle une fiche la première fois, la frame "Séjour 1" ne doit pas se remplir.
- Si je veux qu'elle se remplisse : je clique sur le bouton "Recopier Données"
- Ensuite si je clique sur "Nouveau" (ou "Modifier"), Un espace réservé sur le tableau (dans l'onglet "Inscription") doit se remplir . Ainsi j'ai les (nouvelles) données que j'ai rentré sur la fiche + les données du séjour 1 qui se mettent en toute fin de tableau (onglet "Inscriptions").
- Si j'appelle cette fiche est rappelée, je devrais voir s'afficher les données du premier séjour dans la frame correspondante et les (nouvelles) données rentrées dans la partie principale.

Oh la la j'espère que c'est compréhensible ! 😱
 

Pièces jointes

  • Inscriptions 2023 H Ver11 Cédric.xlsm
    284.6 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
pour les frames, j'ai juste désactivé les lignes de code (j'avais mis des commentaires pour t'indiquer où ca se passait ;);))==> Dans la macro"Aller_à"

pour le chargement du séjour 1 ==> Idem, il y a 2 blocs à desactiver dans la meme macro
j'ai sorti le bouton "recopier" de la frame
ca permet de laisser la frame disable ET le bouton enable

l'enregistrement des données du séjour 1 est effectuée pendant la sauvegarde (SaveUSF)
qu'il s'agisse d'une modif OU d'un nouveau avec une nuance entre les deux
si Nouveau, la recopie vers le séjour 1 est effectuée dans le BtnNouveau_Click, juste avant le SaveUSF
MAIS
si Modification: cette recopie n'est pas effectuée..
ce qui veut dire que si tu charges une fiche existante, que tu fais des modifs SANS JAMAIS recopier le Séjour 1 et que tu sauvegardes, alors, les données du séjour1 seront écrasées (vidées) dans la feuille...
 

Pièces jointes

  • Inscriptions 2023 H Ver12 Cédric.xlsm
    274 KB · Affichages: 2

Clemee61

XLDnaute Junior
OK pour les frames, désolé j'avais pas bien regardé où ça se passait.
Bouton recopier en dehors de la frame parfait.

Je pense avoir compris la suite. Mais quand je teste il y a un bug. Par exemple je recharge dans la fiche le client 1 et je change juste son nom. Quand je fais "modifier" il me met une erreur ici : .ListColumns("Début Séjour S1").DataBodyRange(NumLigne + i - 1) = CDate(Me.Controls("TextBoxDebEnf" & i).Value)

Est-il possible de mettre des frames en gris en chargeant la fiche de la saison précédente ? Et faire la même chose avec la recherche dans la saison précédente ?
 

vgendron

XLDnaute Barbatruc
pour l'erreur, encore une fois, c'est du au fait que le control qu'on essaie de formater en Date est vide
ce qui est le cas justement quand tu fais modifier sans avoir chargé le séjour 1

==> j'ai ajouté une variable "Séjour1" qui se met à vrai quand tu cliques sur "Recopier séjour1"
si cette variable est vraie, alors le SaveUSF enregistre dans la feuille les données du séjour 1
cette variable peut donc permettre de ne plus ecraser (vider) le séjour 1...
la variable est remise à false à chaque fois que tu recharges une fiche

pour la couleur des frames, ca se fait aussi dans l'initialize
à noter pour le formulaire "Recherche"
il faut que tu modifies la ligne
ColVisu = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13) ' colonnes à visualiser
pour remettre les colonnes que tu affichais initialement (avant que l'ordre des colonnes change)
 

Pièces jointes

  • Inscriptions 2023 H Ver13 Cédric.xlsm
    279.3 KB · Affichages: 2

Clemee61

XLDnaute Junior
Pour la recherche c'est modifié. Merci, j'aurais mis du temps à m'en rendre compte :oops:

Je pense que séjour 1 c'est ce qu'il me faut

J'ai fait du relookage encore (ma femme est passé par là) 🥰 😄

J'ai fait planter la fiche mais je n'ai pas réussi à la replanter alors que je pensais avoir remis les mêmes données 😏. Je vais faire plein d'essais dans tous les sens pour bien tester... Mais on s'approche du but je crois 🤗

Te serais t-il possible d'ajouter une feuille Tri à l'image de la feuille doit. Sur laquelle toutes les données de la feuille "inscriptions" sont reportées avec un tri par date décroissant de date paiement. Que je puisse voir en un clic ceux qui ont réglé le jour même. Avec une macro en feuille d'accueil pour y accéder.
 

Pièces jointes

  • Inscriptions 2023 H Ver14.xlsm
    316.4 KB · Affichages: 4

Clemee61

XLDnaute Junior
Moi j'avais fait un truc super compliqué à partir d'une macro enregistrée qui ne marchait pas. Là j'irai pas jusqu'à dire que c'est simple (je le dis pas trop fort sinon patricktoulon va me gronder;)) mais c'est court et ça fonctionne. :)

Pour les essais j'ai commencer par cliquer sur tous les boutons de macros. Plusieurs points :

1) Sur l'USF de recherche, le bouton "Fiche client" ne renvoit plus sur la fiche d'inscription

2) Sur la page d'aacueil, le bouton enregistrer doit "Enregistrer" en écrasant la version précédente. Le bouton "Sauvegarde" devrait un nouveau fichier avec la date et l'heure comme nom de fichier mais ça bug.

3) Lorsque je vais sur les fiches de groupe (Winnies, Bambies, ...) que je clique sur "feuille d'appel" et que je revient sur la feuille inscription : les lignes sont masquées.

Bon à table... 😛😛😛
 

vgendron

XLDnaute Barbatruc
Hello

1) j'ai corrigé pour que la fiche soit directement chargée
2) la fonction enregistrer fonctionne bien chez moi
la fonction enregistrer SOUS aussi.. pour peu que le répertoire de sauvegarde que tu as défini existe bien aussi...
3) j'ai modifié pour que le filtre ne reste plus actif et qu'il soit donc supprimé
 

Pièces jointes

  • Inscriptions 2023 H Ver15.xlsm
    329.2 KB · Affichages: 4

Clemee61

XLDnaute Junior
Bonjour,

1) Erreur lors du chargement : .BtnAller_à_Click 'clic sur le bouton "Aller A" pour charger les infos
2) Enregistrer fonctionne aussi et oui c'est vrai il faut faire attention à ce que le répertoire de sauvegarde existe.
3) Super !
 

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki