| ||||||||
Petit astucien | le 17/10/2011 15h34
Bonjour,
je cherche comment faire la traçabilité de la reception , de la technique et de la lecture d'examens médicaux, j'ai créé un tableur excel avec des userforms , mais je ne sais pas comment les faires fonctionner. Nous réalisons les examens par séries.
A chaque étape je veux pouvoir rentrer le 1er N° et le dernier N° de la série et savoir par qui cela a été réalisé. les séries pour chaque étapes ne sont pas forcément identiques. je voudrais aussi pouvoir retrouver la ligne d'un examen en tapant sont N° dans un userform.
cela est 'il possible ? Ci-Joint mon fichier pour plus de clarté http://cjoint.com/?AJrpE5kg56h merci de votre aide | |||||||
Publicité | ||||||||
| ||||||||
![]() | Bonjour, A chaque UserForm (USF) chaque objet du (USF) sont associés diverses Private Sub en fonction d'évènements (Click, Change, Exit, SpinUp, Enter...) Il n'est pas possible de modifier le nom de ces procédures qui portent le nom de l'objet lié. Si l'USF se nomme UserForm1 la procédure Exit Se nomme UserForm1_Exit Si tu a renommé l'USF "Coloration" la procédure Exit Se nomme Coloration_Exit Il en va de même pour les autres objets : Le SpinButton1 peut posséder un évènement Change : la procédure Change se nommera SpinButton1_Change Mais si tu renommes le SpinButton1 "spbjour" : la procédure Change se nommera spbjour_Change Il faut nommer les objets au moment de la construction du USF avant de créer la procédure car si tu renommes les objets après, les procédures créées ne sont pas renommées automatiquement. Tu as bien suivi cette démarche pour spbjour_change mais pas pour spbmois_change et spban_change ni pour Annuler_Click qui conservent toujours leur nom SpinButton 1, SpinButton2 et CommandButton2 Enfin tu ne peux afficher la date directement dans la Colorationbox4 car à chaque appel de Affich_date tu n'as qu'un morceau de date d'affiché d'abord le jour ensuite le mois, ensuite l'année, mais tant que les 3 ne sont pas remplis tu ne peux afficher une date. Tu pourrais afficher 3 petites TextBox avec pour l'une le jour, l'autre le mois et l'année dans la troisième et n'afficher la date qu'à la fin... ...Mais dans la pratique on ne fait jamais ça car il existe des contrôles spécialisés dans la saisie de dates (Monthview, DataPicker) Il existe même avec un simple TextBox des routines susceptibles de saisir une date de manière plus satisfaisante. Mébon je t'ai fait un truc qui reste un peu dans ta démarche... La Démo Attention : Fichier .xlsm ne pas chercher à dézipper renommer simplement avec l'extension .xlsm au moment du téléchargement. PS : Euh... J'ai pas trop su ce qu'il fallait faire avec le Premier N° et Dernier N° mébon c'est juste pour te montrer la démarche ! A+
Modifié par galopin01 le 17/10/2011 21:34 | |||||||
Petit astucien | merci Galopin01 nous traitons environs 500 examens /jour:il est impossible de taper chaque N° , nous travaillons par série pour la reception, la meme personne receptionne les 500 examens celle de technique travaille par série de 20 examens et celle de coloration par série de 250 examens, celle de lecture par série de 100 examens voila pourquoi j'ai mis premier et dernier N° pour ne pas avoir a saisir chaque N°.(peut etre etablir la liste complete des N° dans la feuille liste pour pouvoir piocher dedans?) j'ai regardé ta demo. c'est un peu ce que je cherche, Est t'il possible d'avoir chaque N° sur une seule ligne comme dans mon exemple, pour pouvoir retouver à partir du N° les différends responsable de chaque étape (pendant un audit , je dois pouvoir facilement retrouver qui à réalisé chaque étape de l'examen) car vu le nombre d'examens chaque année j'ai peur que la feuille ne comporte pas assez de ligne. sinon il faut pouvoir trier la feuille par N° a chaque ouverture ou fermeture. je peux aussi faire un classeur par trimestre. A+ | |||||||
![]() | Bonjour, Je ne t'ai donné qu'un fil conducteur pour l'utilisation d'un USF. Comme je n'ai pas compris la gestion des numéros j'ai tout établi sur une liste d'une colonne, mais il n'est pas plus difficile d'afficher le contenu d'un TextBox en colonne 6 ou 8 qu'en Colonne 2... Mois j'ai créé une entrée de N° de cas ( incrémenté de +1 ) à chaque opération car je ne voyais pas comment faire à partir de Premier N° et Dernier N° pour retrouver un N° commun. Trouver la ligne d'un N° de cas existant déjà n'est pas bien compliqué : Il suffit d'utiliser la méthode find Les feuilles de calcul peuvent comporter un million de lignes ce qui est bien suffisant pour stocker toute une année sur la même feuille surtout si les 4 étapes sont regroupées sur la même ligne. Pour l'instant je ne vois pas comment avancer tant que cette gestion de N° n'est pas claire : Je suppose que la gestion d'un frottis commence par l'attribution d'un N° de cas au moment de la réception. Ensuite tu es bien obligé de retaper ce N° de cas pour enregistrer les données provenant des phases successives. Je ne vois pas ce que les premier et dernier N° ont à voir la dedans ? En fait tant que je n'ai rien compris au processus d'enregistrement je ne peux pas grand chose de plus pour toi ! Or, savoir que les uns ou les autres travaillent par lot ne me renseigne aucunement sur le N° de cas traité. De plus, il me semble impensable de créer des combos de 250 ni même de 100 items : tu perdrais plus de temps à sélectionner une ligne qu'à taper le N° de cas... Si je me réfère à un cas un peu similaire quand je crée une course dans une base de donnée je crée d'abord un N° de dossard. Chaque coureur possède donc un dossard incrémenté de 1 à 2500 et je rentre les élément d'Etat civil du quidam. Ce N° de dossard est ensuite repris par le comptable (par simple clic sur la bonne ligne) pour rentrer ses données comptables... Ce N° de dossard est ensuite repris par le chronométreur (par simple clic sur la bonne ligne) pour rentrer ses données de classement. Ce N° de dossard est .... Je ne vois pas bien comment tu peux échapper à la sélection directe du N° de cas dans la liste des dernières réceptions : Au mieux si tous les n° de cas se ressemblent (aux 4 derniers digits près) rien ne t'empêche de sélectionner un N° bidon dans la série du jour 11 600 043 par exemple et ensuite dans le USF de modifier 043 par 087 par exemple. Le USF est bien capable de gérer un changement de ligne au vol. Dans la saisie d'une course ou il y a 2500 coureurs, ça arrive tout le temps : on ne perd pas de temps à chercher la ligne du dossard 1985. On clique sur n'importe quel dossard (pour ouvrir le USF) et on modifie le N° de dossard dans le TextBox pour pointer sur la bonne ligne. L'évènement Change du TextBox fait ensuite le boulot de recherche de "la bonne ligne" Bref pour l'instant je ne sais pas trop ou tu vas... ( Sans doute parce que je n'ai rien compris à ton problème ! ) A+ | |||||||
Petit astucien | Bonjour Galopin01, je n'envisageais pas des combo de 100 ou 250 items, mais plutot de créer une liste de N°. En indiquant le 1° et Le Dernier N° d'une série, que les données (qui sont identiques à l'intérieur de la série) soit rentrées automatiquement pour chaque N° de la série. En fai,t j'aimerais ne remplir q'une fois le USF par série ( a la fois pour gagner du temps et par manque de pc à chaque poste) A+
Je ne sais pas si tu vois ce que je veux dire, ni si cela est possible? A+
| |||||||
![]() | Ok j'ai compris je vais voir ça. YFO pas être pressé parce que c'est pas simple et de plus j'ai déjà un gros truc urgent en route : A mon avis ça sera pas au point avant la semaine prochaine. A+ Modifié par galopin01 le 19/10/2011 19:01 | |||||||
Petit astucien | Bonsoir, Pas de problème, merci de t'intéresse à mom problème. A+ | |||||||
![]() | Bonjour, Le fichier Le classeur est enregistré au format .xls / 2003 pour la facilité. Le code n'est pas commenté mais compte tenu de la complexité ça me semble difficile de détailler chaque ligne... Néanmoins si nécessaire je te ferais un petit résumé topo. J'ai supprimé les boutons trop contraignants. Le programme s'ouvre d'office à chaque fois que tu cliques sur une cellule vide (et à chaque ouverture du classeur) A par ça, je n'ai pas trop de commentaires à faire... Je te laisse le plaisir de la découverte ! Modifié par galopin01 le 24/10/2011 14:08 | |||||||
Petit astucien | Merci Galopin01 c'est ce que je cherchais, je teste cela demain
A+ | |||||||
![]() | Bonsoir, L'ensemble est conçu pour fonctionner sur CE classeur. et risque d'être un peu délicat à transférer sur un autre classeur. S'il est nécessaire d'utiliser ton classeur d'origine, me consulter. La feuille "Trace" est protégée sans mot de passe. et doit le rester (sans mot de passe) Seules les colonnes 1 à 10 sont fonctionnelles. Il est possible de renommer cette feuille. Il est possible de renommer le classeur sous un autre nom en .xlsm ou en xlsb Le passage avec les données véritables risque d'être un peu délicat : Le système est basé sur la récupération du N° de dossier de la dernière ligne, donc travailler sur une base de données vierge produirait une erreur. Il est préférable de ne pas vider les données d'essai. Mais de les écraser avec les vraies données (après avoir déprotégé la feuille) Le classeur est reprotégé automatiquement à chaque ouverture. A+
| |||||||
Petit astucien | Bonjour Galopin01, cela fonctionne avec mes données, merci beaucoup
A+ sur le forum | |||||||
![]() | Bonjour, Il peut y avoir un problème dans la situation suivante (non testée) : Si les retours (technique, coloration, lecture) ne sont pas enregistrés dans l'ordre de la numérotation. En effet pour l'instant le process suppose que tous ces retours sont enregistrés dans l'ordre de la saisie des N° Si les saisies peuvent être effectuées dans le désordre (c'est à dire si le Premier N° est modifié) l' inscription ne se fera pas sur "la bone ligne" Dans ce cas il faudrait que je modifie le prog A+ | |||||||
Petit astucien | Normalement la saisie devrait etre effectuée dans l'ordre, mais je ne peux pas etre sur à 100%. Si cela ne vous prend pas trop de votre temps, vous pouvez modifier le prog, sinon je sensibiliserais mes collegues à impérativement faire la saisie dans l'ordre.
merci A+ | |||||||
![]() | Bonsoir, J'ai un peu de difficultés à passer du code macro sur PCA : ça donne un résultat immonde : Recharger le fichier modifié (sur le lien précédent) et remplacer la totalité du code du USFCommun par celui de ce nouveau fichier. J'ai nettoyé, peaufiné, et rajouté une fonctionnalité qui permet de retrouver des séries même si elles ne sont pas saisies dans l'ordre. | |||||||
Petit astucien | Bonjour Galopin01 Je suis désolé. J'ai du faire une erreur en remplaçant le USFCommun, car cela ne marche et je n'avais pas pensé à sauvegarder le fichier avant la manip. pourquoi changer le USFCommun sur l'ancien fichier et ne pas utiliser le nouveau fichier tel quel? Peux tu me renvoyer le fichier? A+ | |||||||
![]() | Bonsoir, Bien sur. Tu peux parfaitement utiliser le nouveau fichier ! Je redonne le lien. A+
Modifié par galopin01 le 26/10/2011 20:21 | |||||||
Petit astucien | Merci Galopin01 cela fonctionne bien avec nos données, cela nous simplifie la vie.
Bon week-end et A+ sur le forum | |||||||
![]() | patval35 a écrit :
| |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|