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

Sirberthoult

XLDnaute Occasionnel
Bonsoir,

1) ok

2) ok , c'est pour ca que j'inscrivais 2 fois les chiffres..., une fois avec l'unité une fois sans pour les calculs...(je l'ai aurais mis en blanc pour les rendre invivible.

3) ok, je comprend bien que cela permet de se repérer plus facilement dans le code...j'y est passé du temps a verifier 2 fois ce que j'écrivais...

==> je vais compléter et vérifier les formules.

pourras tu faire l'addressage du "taux de reconstitution "(quand il existe selon le lait) au niveau de l'encart vert dans ma version pour que j'écrive le calcul de dose.

oui la planche d'étiquette est prédécoupée, avec une grande étiquette et 20 petites.
donc oui c'est compliqué de changer la taille des colonnes... c'est pour ca que j'ai mis du temps a trouver la bonne morphologie de toutes les données pour que ce soit lisible .j'avais laissé de la place autour pour qu'il n'y ai pas de perte d'infos en décollant l'étiquette...je comprend tout ce que tu as fait vis a vis du code mais attention à la lisibilité des infos sur cette grande étiquette.

il n'y a jamais 2 chiffres aprés la virgule.

effectivement, il ne doit pas y avoir d'arrondi par excel...je suis surpris que tu en es trouvé, il me semblait avoir fait attention. ( j'ai vu ensuite que ce n'est pas ma version )

par contre tu n'as pas du faire attention aux épaississants qui ne doivent etre que dans le lait 1 ou le lait 2...

aujourdhui en attendant ton retour, j'ai constaté que je n'avais pas bien "formuler" la gestion du fortéma seulement dans le lait maternel au niveau des calcul de dose...

dans ma version j'avais rajouté une ligne dans la grande étiquette...donc diminué la taille des autres pour conserver la hauteur de l'ensemble.

les couleurs ne sont la que pour "l'écran" , l'imprimante est noir et blanc.

merci
 

vgendron

XLDnaute Barbatruc
Hello

Je reviens avec cette nouvelle version

normalement, le complément est affiché correctement et mis à jour à chaque fois que le nombre de biberon change (checkbox du lait2)

j'avais noté un bug sur le nombre de biberon qui n'était pas correctement mis à jour lorsque tu selectionnais un nouveau nourrisson en cours de route==> corrigé avec "CompterNbBib" qui tient maintenant compte des checkbox visibles ou pas..

j'ai ajouté une colonne pour "dernière prépa"
comme tu peux le voir. je l'ai mise à gauche après Nb de biberons
==> tu vas me dire. oui, mais du coup, tous les indices de colonnes sont changés..
oui..et non..
oui si on garde la syntaxe .databodyrange(lig, NumColonne)
NON si remplace par .listcolumns("NOM de la colonne).databodyrange(lig)
ce que j'ai fait==> du coup.. tu peux meme changer l'ordre des colonnes si ca te chante.. le code n'a plus à etre modifié

j'en ai profité pour renommé les colonnes correspondantes aux checkbox
vu que l'intitulé ne correspondait pas forcément à l'info qui y est stockée, j'ai mis "Lait1 H1 2 3 ...8"

j'ai ajouté la formule pour le taux de reconstitution

pour le format des calculs: il y a un truc étrange..
par exemple, pour le fortéma à 3%: si tu appliques à la quantité 20ml==> tu devrais retrouver des ml et pas de g...
je pense qu'il faudra que tu valides toutes les formules une par une==> faudrait pas te retrouver avec des biberons surdosés ou sous dosés..
 

Pièces jointes

  • les eti en neo 2 Remplissage 16.xlsm
    233.4 KB · Affichages: 1

Sirberthoult

XLDnaute Occasionnel
salut

normalement, le complément est affiché correctement et mis à jour à chaque fois que le nombre de biberon change (checkbox du lait2)
dans ma version ca le faisait il me semble. 😅

j'avais noté un bug sur le nombre de biberon qui n'était pas correctement mis à jour lorsque tu selectionnais un nouveau nourrisson en cours de route==> corrigé avec "CompterNbBib" qui tient maintenant compte des checkbox visibles ou pas..
j'avais pas remarqué, mais tant mieux.

j'ai ajouté une colonne pour "dernière prépa"
comme tu peux le voir. je l'ai mise à gauche après Nb de biberons
==> tu vas me dire. oui, mais du coup, tous les indices de colonnes sont changés..
oui..et non..
oui si on garde la syntaxe .databodyrange(lig, NumColonne)
NON si remplace par .listcolumns("NOM de la colonne).databodyrange(lig)
ce que j'ai fait==> du coup.. tu peux meme changer l'ordre des colonnes si ca te chante.. le code n'a plus à etre modifié
ok, je regarde ca, j'ai vu dans la sub imprimer , sinon comme ca j'ai l'impression qu'il reste des .databodyrange(lig,NumColonne) par exemple dans l'initialyse...
ne dois t'on pas le changer partout ? les as tu changé que dans la sub "imprimer" ?

j'en ai profité pour renommé les colonnes correspondantes aux checkbox
vu que l'intitulé ne correspondait pas forcément à l'info qui y est stockée, j'ai mis "Lait1 H1 2 3 ...8"
vu
j'ai ajouté la formule pour le taux de reconstitution
vu, juste surpris que ce ne soit pas en vba, mais tant que la formule n'est pas effacé à l'"impression" ca me vas puis ce que c'est le cas.
j'ai ajouté une colonne pour "dernière prépa"
comme tu peux le voir. je l'ai mise à gauche après Nb de biberons
vu c'est cool. je pense rajouter l'heure quelque part sur la grande étiquette mais pas besoin de sauvegarder cette info je pense dans une nouvelle colonne c'est juste pour l'étiquette...à moins que dans la même colonne on peut sauvegarder la date et l'heure...mais ca je en sais pas...

pour le format des calculs: il y a un truc étrange..
par exemple, pour le fortéma à 3%: si tu appliques à la quantité 20ml==> tu devrais retrouver des ml et pas de g...
je pense qu'il faudra que tu valides toutes les formules une par une==> faudrait pas te retrouver avec des biberons surdosés ou sous dosés..
il n'y a pas de truc étrange, c'est comme ca pas de soucis. laisse moi juste le temps de me pencher sur la vérification des formules et de te faire un retour. juste pour info on fait bien un pourcentage d'une quantité d'eau pour un résultat en gramme de poudre qu'on ajoute à l'eau.

sinon j'ai juste un soucis de largeur total de la planche d'étiquette que je vais devoir reduire pour rentre sur une page.
 

vgendron

XLDnaute Barbatruc
Oui effectivement, dans ta version, ca le faisait déjà. mais beaucoup plus souvent me semble t il..
mais bon. je ne vois pas d'impact trop important sur le temps d'execution

j'ai pas touché à la macro "imprimer" effectivement..
à modifier pour ne lancer QUE le nombre de planches remplies

pour la formule. en fait si. elle est supprimée à chaque fois.. mais elle est remise à chaque fois aussi :)

pour la date.. on peut mettre l'heure aussi, il suffit de modifier le format
=format(now,"dd/mm/yyyy hh:mm")
puisque tu voulais "gerer" la suppression d'un nourisson lorsque ca fait plus de 5 jours qu'il n'y a pas eu de préparation de bib (faudra quand meme vérifier qu'il ne hurle pas de faim.. ;) avant de considérer qu'il est sorti du service), j'imagine que l'idéal est de sauvegarder l'info dans la table..
et lancer un check de temps en temps pour supprimer les lignes


pour les "ml vs g", c'était juste pour attirer ton attention au cas où

et pour la taille de la planche..les options d'impression permettent normalement de mettre à l'échelle la zone d'impression versus taille de la feuille
je crois meme que sur certaines imprimantes, tu peux spécifier que tu utilises une planche d'étiquette d'un certain format...
 

vgendron

XLDnaute Barbatruc
Ici, j'ai corrigé les databodyrange(lig,col) qui restaient

et j'ai modifié la macro "Imprimer" qui permet d'imprimer juste les pages qui ont des choses à imprimer

pour l'impression meme.. chez moi, l'imprimante par défaut est paramétrée en mode "pdf"
à voir ce que ca donne chez toi pour une vraie imprimante..
 

Pièces jointes

  • les eti en neo 2 Remplissage 17.xlsm
    233 KB · Affichages: 0

Sirberthoult

XLDnaute Occasionnel
re,

tu vas trop vite j'ai pas le temps de me possé sur une version que tu en sort une nouvelle... 😅

effectivement la copie de la grande étiquette sur les autres planches est nickel avec la mise en page de la premiere respecté.

j'ai corrigé toutes les formules normalement... je referais d'autre test avec les biberonieres...
quand pas de formule c'est que cela n'a pas d'interet et cela évite de surcharger et j'ai accentué les calculs les plus important...j'ai du bouger le taux de reconstitution car ca chevauché les grand nom de lait parfois...
j'ai revu aussi la forme général de l'étiquette.

il me reste un soucis avec le fortema: dans l'exemple ou on a 2 lait dont 1 maternel , il me donne des calculs de doses alors que cela est interdit dans les lait "non maternel"...or comme il n'y a pas la reference au "type de lait" sur la grande étiquette, je ne pas pas filtrer avec une formule pour les faire disparaitre sur le lait "non maternel" donc soit il faut faire apparaitre le type de lait à l'encre blanche quelque part, soit trouver une autre solution ...

j'ai pas touché à la macro "imprimer" effectivement..
tu veux dire au contraire que tu n'as changé que là ??, puis finalement tu as changé tout partout. sinon j'ai pas bien compris ou ta fais les modifs...

pour la date et heure il faudrait l'ajouter sous la chambre aussi sur la grande étiquette.

et j'ai modifié la macro "Imprimer" qui permet d'imprimer juste les pages qui ont des choses à imprimer
ca c'est cool.

puisque tu voulais "gerer" la suppression d'un nourisson lorsque ca fait plus de 5 jours qu'il n'y a pas eu de préparation de bib (faudra quand meme vérifier qu'il ne hurle pas de faim.. ;) avant de considérer qu'il est sorti du service)
rassure toi, pas d'erreur possible il savent se faire entendre et les parents aussi...

et pour la taille de la planche..les options d'impression permettent normalement de mettre à l'échelle la zone d'impression versus taille de la feuille
je crois meme que sur certaines imprimantes, tu peux spécifier que tu utilises une planche d'étiquette d'un certain format...

en general, je suis obliger de faire beaucoup de test de calibrage des lignes de découpages...
dans les options je centre horizontalement et verticalement,
je personnalise les marges en mesurant celles des planches.
ensuite je bouge un peu la taille des collonne et des ligne pour que ca tombe bien.
malheuresement, parfois j'ai l'impression que ca bouge quand elle modifiz c'est parametres pour imprimer autre chose avec excel...donc de temps en temps je ré interviens.
si seulement on pouvait faire une sorte de publipostage...en rentrant les references de l'étiquette mais je crois pas que cela soit possible...
d'ailleurs on se sert de ces étiquettes pour faire des étiquettes identité d'hospitalisation et le logiciel publipost sur words mais je ne sais pas bien comment...

ceci dit, le niveau atteint aujourdhui était inespéré ! alors je suis deja bien content.
 

Pièces jointes

  • les eti en neo 2 Remplissage 16 (1bis).xlsm
    222.7 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
Hello

je vois que tu n'as pas utilisé la toute dernière version du code que j'avais mise en V17
c'est pour ca que tu ne vois pas toutes les modifs effectuées sur les databodyrange et sur la macro "imprimer"

alors.. pour faire simple et éviter de refaire les choses x fois
je te propose de continuer tes tests avec cette version V18

1) j'ai repris ta planche d'étiquettes telle que tu l'as modifié en V16bis la dernière fois (avec taux de reconstructions déplacés) et formules "corrigées"

2) les formules: je vois que tu as remises les & ml, ou &g
tu n'en as PAS besoin, et il ne faut PAS les mettre==> ca perturbe les calculs

j'explique: avec Qté1 = 10 et total1=20 (pour l'exemple)
si tu mets une formule en A2 =qté1*total1 &" g"===> le résultat affiché sera bien 200 g
si tu mets une formule en A3 = 10*A2 ==> tu vas avoir une erreur
en effet ce 200 g ne peut plus etre utilisé à son tour pour faire un calcul puisque ca devient du texte

pour éviter ca il faut
A2 = Qté1*Total1
A3=A2*10

Mais comme tu souhaites afficher l'unité (tout à fait normal): il faut passer par un format de cellule personalisé
ce format ajoute automatiquement l'unité souhaitée (ml ou g) SANS empecher les calculs.

c'est ce que j'ai modifié dans toutes tes formules

3)
pour le fortema, j'ai ajouté deux formules dans les cellules "Maternel1 et Maternel2"
ces formules vont voir si le lait en formule1 et 2 sont des laits maternels ==> si oui ==>1 si non 0
ce résultat (Maternel1 et 2) est uilisé dans les formules de calculs pour le fortema

4)
Une remarque: j'ai vu que parfois, tu saisissais les nombres avec une "virgule" plutot qu'un "point"
attention !! selon la configuration du PC , la virgule peut ne pas etre le séparateur décimal

à savoir: sur le clavier azerty, il y a le point ET la virgule==> Ce sont deux touches et donc deux caractères différents
3,5 ==> c'est du texte
3.5==> c'est un nombre

sur le pavé numérique, il y a la touche "suppr . " pour saisir les nombres décimaux..
je dis souvent que cette touche ne devrait pas s'appeler "." mais "SepNum"
cette touche sert juste à saisir le séparateur numérique défini par les options régionales du PC
 

Pièces jointes

  • les eti en neo 2 Remplissage 18.xlsm
    177.6 KB · Affichages: 2

Sirberthoult

XLDnaute Occasionnel
salut


1) ba oui j'ai pas eu le temps de finir ce que je faisait que tu avais deja resortie une version...merci d'avoir reporté le V16bis dans le tiens.

2) les formules: je vois que tu as remises les & ml, ou &g
tu n'en as PAS besoin, et il ne faut PAS les mettre==> ca perturbe les calculs

j'explique: avec Qté1 = 10 et total1=20 (pour l'exemple)
si tu mets une formule en A2 =qté1*total1 &" g"===> le résultat affiché sera bien 200 g
si tu mets une formule en A3 = 10*A2 ==> tu vas avoir une erreur
en effet ce 200 g ne peut plus etre utilisé à son tour pour faire un calcul puisque ca devient du texte

pour éviter ca il faut
A2 = Qté1*Total1
A3=A2*10

Mais comme tu souhaites afficher l'unité (tout à fait normal): il faut passer par un format de cellule personalisé
ce format ajoute automatiquement l'unité souhaitée (ml ou g) SANS empecher les calculs.

c'est ce que j'ai modifié dans toutes tes formules
tout ca j'en ai conscience...mais là théoriquement, on ne se sert plus "informatiquement" des calculs affichés... mais je te comprend on ne sait jamais...
ceci dit, j'aimerais que ce soit tres concis et clair...j'aimerais que les 15,0% se transforme en 15% et idem pour les grammes et les ml...j'ai tenté de passer par une mise en forme conditionelle qui donne 0 décimal au format quand le nombre est entier mais ca ne fonctionne pas toujours bien chez moi...j'ai réussi à le faire en BD2 sur la colonne des pourcentages mais des que je modifie la mise ne forme conditionnelle ne se réactualise pas ... et par contre je n'arrive pas du tout a l'appliquer au cellule de la grande étiquette...
je faisait : =SI(N2=ENT(N2);vrai;faux) et j'appliqué la MEFC avec 0 décimal.
bref peut etre y arriveras tu...

3) nickel
4)
Une remarque: j'ai vu que parfois, tu saisissais les nombres avec une "virgule" plutot qu'un "point"
attention !! selon la configuration du PC , la virgule peut ne pas etre le séparateur décimal

à savoir: sur le clavier azerty, il y a le point ET la virgule==> Ce sont deux touches et donc deux caractères différents
3,5 ==> c'est du texte
3.5==> c'est un nombre

sur le pavé numérique, il y a la touche "suppr . " pour saisir les nombres décimaux..
je dis souvent que cette touche ne devrait pas s'appeler "." mais "SepNum"
cette touche sert juste à saisir le séparateur numérique défini par les options régionales du PC
tu as raison, d'ailleur je crois me souvenir que j'avais mis un bout de code dans mon projet originel pour que s'affiche correctement les virgules dans les nombres decimaux saisie...
maintenant je trouve beaucoup plus "élégant" l'affichage de la "virgule" plutot que du "point" mais il ne faut pas que cela génére d'erreur on est bien d'accord.
 

vgendron

XLDnaute Barbatruc
ceci dit, j'aimerais que ce soit tres concis et clair...j'aimerais que les 15,0% se transforme en 15% et idem pour les grammes et les ml...j'ai tenté de passer par une mise en forme conditionelle qui donne 0 décimal au format quand le nombre est entier mais ca ne fonctionne pas toujours bien chez moi...j'ai réussi à le faire en BD2 sur la colonne des pourcentages mais des que je modifie la mise ne forme conditionnelle ne se réactualise pas ... et par contre je n'arrive pas du tout a l'appliquer au cellule de la grande étiquette...
je faisait : =SI(N2=ENT(N2);vrai;faux) et j'appliqué la MEFC avec 0 décimal.
bref peut etre y arriveras tu...
Ouh laaaa !! tu te compliques la tache inutilement.. Excel te permet de modifier l'affichage pour avoir un ou plusieurs chiffres après la virgule (ce que tu ne pourrais pas faire justement en mettant les &"ml" dans tes formules..)
==> dans le ruban Excel, menu Acceuil,/Nombre et sous le menu déroulant (pourcentage sur l'image jointe), tu as deux icones:: clique dessus...


Sans titre 1.png
 

vgendron

XLDnaute Barbatruc
pour l'histoire de virgule ou point, idem.. pas de code à faire
regarde cette video (il décrit comment passer de la virgule au point),

dans fichier/option/options avancées ==> Option d'édition
décoche l'option "paramètres systèmes" et met une virgule pour le séparateur décimal
 

Sirberthoult

XLDnaute Occasionnel
salut

Ouh laaaa !! tu te compliques la tache inutilement.. Excel te permet de modifier l'affichage pour avoir un ou plusieurs chiffres après la virgule (ce que tu ne pourrais pas faire justement en mettant les &"ml" dans tes formules..)
==> dans le ruban Excel, menu Acceuil,/Nombre et sous le menu déroulant (pourcentage sur l'image jointe), tu as deux icones:: clique dessus...
je pense que tu n'as pas bien compris mon problème, ce qui me dérange c'est par exemple, "15,%" ou "15,00%" ou "15,0%". moi ce que je veux c'est "15%" et forcément si je change l'affichage de la décimal du pourcentage, ça vas être bon dans ce cas là, mais dés qu'il y aura réellement une décimal alors excel vas arrondir. bref je ne vais pas changer le format avant chaque impression...
je pense vraiment que la mise en forme conditionnelle est la solution, d'ailleurs j'ai trouvé la bonne formule je pense ...

pour un pourcentages: de base format pourcentage avec 1 decimal et MEFC avec formule
=SI(TxReconst1*100-ENT(TxReconst1*100)>0;FAUX;VRAI) avec format 0 décimal.

d’ailleurs cela fonctionne sur les taux de reconstitutions. comme dans la pièce jointe. j'ai mis un cadre vert là ou la MEFC fonctionne.

et pour des millilitres ou grammes de base format "0,0 g" et MEFC avec formule
=SI(I10-ENT(I10)=0;VRAI;FAUX) avec format "# g".

d’ailleurs cela fonctionne sue le calcul de dos de poudre de lait. comme dans la pièce jointe.

merci pour la vidéo, j'ai appris un truc. finalement ça tombe bien, moi je préfère le séparateur virgule pour les valeurs numérique.
ceci dit,
je comprend pas pourquoi quand je modifie une prescription puis imprime, les valeurs en colonnes "G3( sauf le liquigen) repartent au format texte...avec le petit coin supérieur gauche en vert signalant une erreur ?? cela m’empêche d'appliquer la MEFC pour la gestion du format. je pense qu'il faut ajouter le format au code vba qui amène ces éléments sur l'étiquette. car à chaque impression le format est écrasé.
 

Pièces jointes

  • les eti en neo 2 Remplissage 19(1).xlsm
    232.7 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
Hello

je pense qu'il y a une incompréhension...
regarde la PJ

dans la colonne B, j'ai tapé trois fois la meme valeur,
mais j'ai changé le nombre de décimal affiché (JUSTE un format d'affichage)
ensuite, en colonne D, je fais trois fois le meme calcul
et j'ai mis le meme nombre de décimal pour les trois résultats

==> Quelque soit le format d'affichage de la colonne B le résultat est le MEME, et heureusement !!
 

Pièces jointes

  • Test Arrondi.xlsx
    9.2 KB · Affichages: 1

Sirberthoult

XLDnaute Occasionnel
salut

merci pour ton exemple, mais j'avais tout bien compris .

notre incompréhension réside dans nos intentions. on est bien d'accord heureusement que l'on a bien le même résultat quelque soit le format d'affichage choisi...

mes intentions sont purement esthétique (+/-), quand le pourcentage est "entier" exemple 15 %
alors je veux un format qui affiche 15%
et non pas "15,0%" ou encore "15,%" ou encore "15,00%"

mais si je choisi un format sans décimal qui me donnera bien "15%" , quand j'aurais 17,2% alors le format obligera un affichage de "17%" (or, on est d'accord la valeur réel sera bien de 17,2%) mais cela sera tout de même mal affiché...(or on ne peux pas se le permettre car ce sont des étiquettes qui seront imprimées)

ce n'est pas ce qu'il y a de plus important parmi tout le projet, mais ça serait bien. surtout que j'y arrive avec la MEFC . je t'invite a ouvrir ma pièce jointe est de modifier le taux de reconstitution de BD2 tu verras que le format change si il y a des décimal ou non.

j’espère être plus clair.
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 246
Membres
103 163
dernier inscrit
Pelaez