XL 2016 remplir des étiquettes selon multi critères

Sirberthoult

XLDnaute Occasionnel
Bonjour le forum,

je créer une application pour rédiger des étiquettes pour une biberonerie. confection de plusieurs dizaine de biberons par jour voir beaucoup plus en hiver...

j'ai bouclé ( je pense ...) la partie interface utilisateur pour rassembler les informations concernant la prescription...elle n'est surement pas parfaite...mais me convient.

Mon soucis, réside dans le remplissage de l'onglet "étiquettes" en fonction des informations sélectionnées grâce la SUB remplissage( ) de l'userform 2

en effet je dois optimiser chaque étiquettes en fonction de ce que chaque biberons contiendras.
j'ai réalisé un exemple avec le nom "AMANDO Gino", il faut cliquer sur le rond bleu de l'onglet "données" puis le bouton "réaliser des étiquettes" puis sélectionner dans le service de "HDJ" l'enfant amando gino et visualiser l'objectif de remplissage dans l'onglet "étiquette" : je n'ai pas besoin de couleur c'est juste pour l'exemple pour comprendre comment se repartisse les infos.

je cherche un début de solution pour adresser chaque infos à la bonne case dans chaque étiquettes. le bon lait en fonction de l'horaire (parfois 2 lait différents à des horaires différent), des compléments ( dans chaque biberons ou à part sur d'autres étiquettes ) et des épaississants ( dans chaque biberons ou à part sur d'autres étiquettes )...

bref comment remplir les étiquettes avec des informations qui peuvent varier selon les horaires qui varient aussi selon les patients...j'aimerais un exemple de codes que je pourrais compléter moi même.

merci d'avance pour vos propositions
 

Pièces jointes

  • les eti en neo 2 Remplissage 2.xls
    507 KB · Affichages: 13

vgendron

XLDnaute Barbatruc
effectivement les afterupdate, c'est pas top. je les ai enlevés dans la version en cours

la. j'ai des interférences dans le checkbouton qui remet à vrai tous les checkbox du lait 1. alors que juste avant, on a chargé les infos de la table BD3...

l'idée, c'est à l'initialize on masque et met à faux tous les checkbox
on les affiche si une formule1 ou 2 ou autre est saisie
on met les valeurs telles que dans BD3

à priori, le nb de chkbox dépend juste du nombre de biberons
si ce nombre change, le nb de checkbox change
y a t il une raison particulière pour laquelle il faut rendre le chkbox Disable??
à partir du moment où ils sont affichés, ils devraient être accessibles non?
 

Sirberthoult

XLDnaute Occasionnel
la seule raison qui m'ai venu je crois quand je l'ai fait est que ca n'a pas de raison de "louper" un bib parce que l'utilisatrice à "decoché" par mégarde...une coche. si 8 bib on prepare 8 bib. je pense. mais si on les rend accessible au pire ne sortira que les étiquettes concernés...mais cela ne vas t'il pas générer des erreur dans ton code de remplissage des enrichissemments ?


la. j'ai des interférences dans le checkbouton qui remet à vrai tous les checkbox du lait 1. alors que juste avant, on a chargé les infos de la table BD3...
est ce que tu parles de ma PJ ?

c'est parce que dans BD3 je n'ai pas fais "sauvegardé" ces valeurs je pense...car dans ma tête, l'utilisatrice mettra à jour sa répartition des biberons chaque jours ( sinon apres elles feront plus rien...🤣 )...je voulais pas cummuler trop d'infos a sauvegarder mais on peut le faire si ca arrange les choses.
 

vgendron

XLDnaute Barbatruc
en V8 ci jointe
il n'y a plus de checkbouton ni checkbouton_autres à tout va

il y a juste UNE macro "InitialiserChkbox" qui
1) rend visible X chkbox (X = Nb de biberons) dans TOUTES les frames: Lait1 Lait2, Epaississant1 et 2, et Autres
lorsque les dites frames seront affichées, les chkbox le seront en meme temps
==> la macro ne cherche donc pas à savoir si les frames sont visibles ou si il y a quelque chose dans Autres

2) les chkbox du lait1 et epaississant 1 sont actifs par défaut
ceux des lait2 epaississant2 et autres sont décochés par défaut

j'ai également nettoyé le code pour supprimer tout ce qui était en commentaire.. ca a tendance à prêter à confusion.

et j'ai mis des commentares sur les différentes macros

je pense que tu n'as plus qu'à faire des essais un peu dans tous les sens
 

Pièces jointes

  • les eti en neo 2 Remplissage 8.xlsm
    197.7 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
et ici, quelques modifs sur les boutons "Deuxième lait" et supprimer deuxième lait

on autorise un second lait seulement si il y a au moins un biberon de lait 1 (sinon on se retrouve avec des biberons de lait 1 sans aucun horaire..)

quand on supprime le lait 2 ==> on reselectionne tous les horaires sur le lait 1

ca évite des bugs
à propos des bugs: j'ai repris tous les nourissons pour rectifier les données
parfois, il n'y avait pas de nb de biberons
parfois, un lait 1 défini, mais aucun horaire1 selectionné, par contre, tous les horaires2 étaient sélectionnés==> plantage de l'appli

je viens de voir que le complément n'était pas traité..: il est ajouté à TOUS les biberons lait1 ET lait2 ?quelque soit la formule?? pas de notion "à part" ?

pour l'enrichissement "Autres": les horaires cochées sont celles du Lait1 ou du Lait2? ou ca peut etre un mix des deux??
exemple 4biberons==> 4 heures: 8h /12h /16h /20h
Lait 1: 8h et 16h
DONC Lait 2: 12h/20h

pour l'instant, dans Autres: je peux choisir 8h /12h ==> c'est donc un mix entre un lait1 et lait2
 

Pièces jointes

  • les eti en neo 2 Remplissage 9.xlsm
    188.6 KB · Affichages: 4

Sirberthoult

XLDnaute Occasionnel
tu fais un boulot monstre ! ca prend sacrement forme.

voici quelques retours et je continu les tests...

il y a un soucis avec le fortema qui s'invite parfois sans prescription juste parce que le lait est maternel...
parfois il apparait aussi "fortema" sans dose ...

si j'ai 3 enrichissements dans un même bib, il en manque 1 sur l'etiquette, ce doit etre le manque de place...apres on peut revoir l'organisation des cellules de l'etiquette pour qu'apparaisse correctement les enrichissements les uns sur les autres.

j'ai un bugs si on décoche un bib et qu'on lance l'impression.

je comprend que la gestion des checkboxs ne te rend pas la tache facile mais je trouve que c'était "plus logique" avant... je trouve bizarre que les horaires apparaissent sur un enrichissement(épaissisants et autres ) qui n'est pas prescrit.
et je pense que les coches lait 1 et epaississant 1 devraient resté disable. pour eviter les meprise et les bugs.
maintenant si ce sont des limites techniques je m'en accommoderai.

l'enrichissement Autres : c'est souvent de l'huile ou de l'hepar ...bref quelques soit le nbr de Laits, il faut considérer que ce sera dans tout les bibs ou dans certains... c'est pourquoi j'ai fait des coches. l'utilisatrice choisit à quelle horaire elle veut ajouter un peu d'hepar quelque soit le contenu du bib.


le complément de lait : n'est utile que si il n'y a qu'1 seul lait.
il s'ajoute à la quantité totale à préparé pour preparer des compléments au besoin pendant la journée. en gros avoir un bib de plus dans le frigo au cas ou...
l'interet reside dans les calculs qui apparaitront sur le haut de la planche d'étiquettes car la préparatrice reconstitue dans des pichets le lait en poudre et y ajoute les enrichissements en % ...donc doit connaitre les grammes de chaques poudres à ajouter...bref pour connaitre le nbr de "grammes" de poudres de lait et d'enrichissements qu'il faut pour la préparation entiére (( nbr de bib X quantité) + complément).
je pense qu'on pourras se pencher sur ca plus tard...
 

Sirberthoult

XLDnaute Occasionnel
Bonjour

je te propose une étiquette alternative...pour que tout les enrichissements apparaissent correctement...
je l'ai dessiné dans l'onglet "préparation aux étiquettes" et mis en brun. qu'en penses tu ?

j'ai rajouté une case avec une astérisque "*", je pense que c'est une bonne idées pour informer les puéricultrices quand elles prennent le biberon , de ne pas oublier qu'il y a un enrichissement préparé "à part" à rajouter à cette horaire. est ce réalisable ?

pour le fortema, pourrait on rajouter un MsgBox d'avertissement quand il est prescrit sans lait maternel, ou pour informer qu'il n'a pu être ajouté ou préparé "a part" ou dans tel lait...

j'ai réussi à trouver la petite erreur du fortema dont je t'ai parlé dans le post précédent et l'ai corrigé ainsi ...j'ai noté 'ICI en bout de ligne.
VB:
'*****************
 
'*****************
    'Gestion Fortema
    '*****************
    If Me.ChkAPart_Fortema Then 'à part
        IndiceRef = 1
        'on ne doit ajouter de biberon QUE s'il y a du lait maternel..sinon Fortema interdit
        For I = 1 To NbBiberons
            If ListeEtiquettes(I).TypeDeLait = "Maternel" Then
                NbInit = UBound(ListeEtiquettes)
                ReDim Preserve ListeEtiquettes(1 To NbInit + 1) 'on ajoute un biberon
                ListeEtiquettes(NbInit + 1).Nom = Me.Nom  'on inscrit le nom
                ListeEtiquettes(NbInit + 1).Prénom = Me.Prénom  'le prénom
                ListeEtiquettes(NbInit + 1).Chambre = Me.Chambre  'la chambre
                ListeEtiquettes(NbInit + 1).Formule = "à part"
                ListeEtiquettes(NbInit + 1).Enrichissement = "Fortema " & Me.Fortema
                ListeEtiquettes(NbInit + 1).HeureBib = ListeEtiquettes(I).HeureBib
                ListeEtiquettes(NbInit + 1).Jourbib = ListeEtiquettes(I).Jourbib
                ListeEtiquettes(NbInit + 1).Qté = ListeEtiquettes(I).Qté
            End If
        Next I
    Else
        For I = 1 To NbBiberons
            If ListeEtiquettes(I).TypeDeLait = "Maternel" And Me.Fortema <> "" Then ' ICI
                'on laisse les infos telles quelles
                ListeEtiquettes(I).Enrichissement = ListeEtiquettes(I).Enrichissement & IIf(ListeEtiquettes(I).Enrichissement <> "", Chr(10), "") & "Fortema " & Me.Fortema
            End If
        Next I
    End If

sinon j'ai encore des petit bugs du style si il y a un enrichissement "a part" puis impression puis je supprime le "a part" ou retire l'enrichissement puis impression alors il apparaît encore sur les étiquettes mais sans la dose ...juste "NaCl" ou "Dext".pourtant plus de trace de "1" dans BD3...est ce que le tableau virtuel conserve les données ??
 

Pièces jointes

  • les eti en neo 2 Remplissage 9(1).xlsm
    200.8 KB · Affichages: 0
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello

pour le pb de fortema que tu as corrigé, en fait, on a le meme problème sur tous les enrichissements..
il manque à chaque fois le test "si enrichissement <>""

pour le pb de bug quand tu enlèves un biberon..
bug = plantage ou = un biberon de trop??
ca arrive avec un seul lait je suppose ?
si oui, c'est "normal": quand tu choisis un nombre de biberons, le nombre d'horaire doit etre le meme..
mais si tu retires un horaire.. et bien. le nombre de biberons n'est plus bon..
plutot que de revoir toute la stratégie de case visible ou pas, il vaudrait peut etre mieux mettre un message indiquant qu'il manque un biberon avec pour choix "remettre le biberon ou changer le nombre de biberon"

pour l'étiquette: tu disais qu'à partir de 3 enrichissements, il en manque un: en fait non, c'est l'étiquette qui est trop petite: on ne voir pas le 3eme: il faut agrandir la ligne
je vais regarder la nouvelle étiquette que tu as donnée


pour le nb de biberon qui change.. il suffit effectivement de remettre les checkbox du lait1 en Disable...==> impossible de supprimer un biberon: le seul moyen de deselectionner un bib, c'est avec les coches du lait 2
 

Pièces jointes

  • les eti en neo 2 Remplissage 9.xlsm
    192.9 KB · Affichages: 2
Dernière édition:

Sirberthoult

XLDnaute Occasionnel
pour le pb de fortema que tu as corrigé, en fait, on a le meme problème sur tous les enrichissements..
il manque à chaque fois le test "si enrichissement <>""
ah ba c'est ca quand je decrivait :
sinon j'ai encore des petit bugs du style si il y a un enrichissement "a part" puis impression puis je supprime le "a part" ou retire l'enrichissement puis impression alors il apparaît encore sur les étiquettes mais sans la dose ...juste "NaCl" ou "Dext".pourtant plus de trace de "1" dans BD3...est ce que le tableau virtuel conserve les données ??
effectivement ca ne le fait plus si on corrige.

pour le pb de bug quand tu enlèves un biberon..
bug = plantage ou = un biberon de trop??
plantage!

sinon je continue de penser que la gestion des checkboxs étaient mieux avant... ca me derange qu'on puisse décocher des biberons qui doivent etre préparé . j'ai peur aussi qu'il se passe le même probléme si on décoche au niveau de l'épaississant ( alors même qu'il n'y aura pas forcément d'épaississant ).
c'etait avant plus complexe à rédiger ( quoique quasi deja fait ) mais plus logique dans la conception des étiquettes pour des biberons.
 

vgendron

XLDnaute Barbatruc
Hello

effectivement, on voit maintenant pourquoi il y avait des enabled dans le code==> j'ai modifié ca dans le AllBiberons==> Lait 1et Epaississants sont toujours en disable
avec les tests que je fais, il y a des soucis quand on passe d'un nourrisson à l'autre==> tu as du voir aussi que certaines informations restaient, ou qu'il y avait des messages
==> je pense qu'il manque une macro de "RAZ_formulaire" à lancer à chaque changement de nom
 

Sirberthoult

XLDnaute Occasionnel
Bonjour

j'ai repris une ancienne version (6) et j'ai ajouté ta macro remplissage.
j'ai corrigé ce dont ont a parlé plus haut concernant les enrichissements...
j'ai modifier la gestion des checkbox horaires pour qu'elle fonctionnent comme elles se doit...

j'ai fais plusieurs tests avec surtout des nourrissons connu...
et là je ne vois plus trop clair...il me semble que tout est bon ...?
dis moi ce que tu en penses ? peut être de la mauvaise syntaxe ... mais ça semble malgré tout fonctionnel.

OK pour "RAZ formulaire" a voir
 

Pièces jointes

  • les eti en neo 2 Remplissage 6(5).xlsm
    233.7 KB · Affichages: 3

Sirberthoult

XLDnaute Occasionnel
j'ai retrouvé des bugs d'info d'horraires des lait 2 qui ne se rappelé pas...
c'est corrigé.
j'ai modifié le format de l'etiquette pour réorganiser les infos, je trouve ca plus lisible. ce qui m'a permis de mieux étudier ton code...c'est brillant ! j'en aurais était incapable seul.

je n'ai pas de probléme pour passer d'un enfant à un autres...regarde et dis moi.
 

Pièces jointes

  • les eti en neo 2 Remplissage 6(6).xlsm
    181.5 KB · Affichages: 2
Dernière édition:

vgendron

XLDnaute Barbatruc
Hello

Comme j'avais commencé, j'ai poursuivi avec la version sur laquelle je travaillais déjà
==> j'ai repris ton nouveau modèle d'étiquettes
==> j'ai remis les bib du lait 1 et epaississant 1 en Disable

comme il y avait déjà pas mal d'optimisations, je n'ai pas repris ta "old version" du post 55 dans laquelle on retrouve du code "a rallonge",
il manque des tests sur la coche 1/2 dans le cas d'un nombre impair
il manque tout un tas de tests..

pour le remplissage des combo, j'ai vu que tu avais remis le vieux code qui reformate à chaque changement
quand tu déroules les combo de pourcentages, ils apparaissent sous la forme 0.01 0.02....
et une fois selectionné, ca devient 1%
idem pour les ml
j'ai donc remis les tables BD sans les unités (ml) dans les données MAIS, j'ai modifié le chargement des combo dans l'initialize==> on peut donc se passer du formatage dans les event _change

normalement, on retrouve le comportement initial avec quelques controls de saisie en plus
ex: quand tu as un second lait2, au moment d'imprimer, on vérifie d'abord que le lait2 a bien au moins un biberon (sinon. il ne sert à rien)
on vérifie aussi que le lait 1 a toujours au moins 1 bib==> sinon, il ne sert plus à rien..

pour le complément: il ne s'affiche que si il n'y a qu'un seul lait
par contre: j'ai pas bien saisi, s'il s'agissait d'un enrichissement ou d'une quantité sup à ajouter à la quantité 1
 

Pièces jointes

  • les eti en neo 2 Remplissage 9.xlsm
    189.5 KB · Affichages: 2

Sirberthoult

XLDnaute Occasionnel
Bonjour

comme il y avait déjà pas mal d'optimisations, je n'ai pas repris ta "old version" du post 55 dans laquelle on retrouve du code "a rallonge",
pas de soucis tant que les checkbox se comportent comme dans le mien. car c'est exactement comme ca qu'elles doivent s'articuler.

pour le remplissage des combo, j'ai vu que tu avais remis le vieux code qui reformate à chaque changement
quand tu déroules les combo de pourcentages, ils apparaissent sous la forme 0.01 0.02....
et une fois selectionné, ca devient 1%
idem pour les ml
j'ai donc remis les tables BD sans les unités (ml) dans les données MAIS, j'ai modifié le chargement des combo dans l'initialize==> on peut donc se passer du formatage dans les event _change
en fait, je n'aias pas bien saisi comment tu avais résolu le probléme et n'est pas pu le changer dans ma version. je regarderai ca de plus prés.

pour le complément: il ne s'affiche que si il n'y a qu'un seul lait
par contre: j'ai pas bien saisi, s'il s'agissait d'un enrichissement ou d'une quantité sup à ajouter à la quantité 1
en fait si on a une préparation de 8 x 20 ml d'un lait cela fait 160 ml par jour. les utilisatrices parfois vont decider de rajouter 90 ml de "complément" pour que le service le garde au frigo si il y a un accident, une régurgitation ou un besoin quelconque. ce fera 250ml au total a préparer et comme elle "dilue" tout en même tempsdans des grand pichet, puis transvase dans chaque bib, elles leurs faut des calculs de reconstitution et d'enrichissement basé sur 250ml et non pas 160ml. j'espére etre clair.
ces calculs doivent se situer tout en haut de la planche d'étiquette (car le format de la planche est spéciale c'est a dire une grande étiquette en haut puis 20 petites en desssous comme dans 'l'onglet "étiquettes" ou préparation aux étiquette" )
 

vgendron

XLDnaute Barbatruc
ok pour le complément
pour etre sur d'avoir compris
1) le complément est forcément une quantité ==> ajouter un test sur la saisie du textbox
2) on ne définit un complément QUE lorsqu'il n'y a qu'un lait (déjà codé)
3) mettre un complément n'a pas d'impact sur le contenu des biberons==> on ne change donc rien sur le remplissage des étiquettes

==> par contre: si il y a un complément.. l'info (Qté1* NbBib + Complément) ne sert que pour la préparatrice..
on la met ou cette info?

point que je viens de voir: lorsqu'on définit un enrichissement autre: les biberons (cases cochées) selectionnés ne sont pas enregistrés dans la table BD3==> donc à chaque fois qu'on recharge, les cases ne sont plus cochées
 

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 013
Membres
105 601
dernier inscrit
CoachGeGe