Formulaire de recherche

Tahititin

XLDnaute Occasionnel
Bonjour le Forum,
J'ai trouvé sur le forum un code trés pratique et qui m'aiderais dans mon travail (en PJ : RECHERCHE) mais comme je ne suis pas une lumière en VBA, j'ai tenté de l'adapter à mon fichier (également en JJ : PROGRAMME OPERATOIRE GENERAL) mais en vain.
Ce programme opératoire général dispose déjà d'une macro qui va "scanner" les programmes opératoires de chaque spécialité (il y en a 8 en tout) pour en faire une synthèse hebdomadaire toutes spécialités confondus.
Le problème étant que beaucoup de chirurgiens aimeraient pouvoir faire des recherches sur ce programmes opératoire.
Ce que je souhaiterais c'est pouvoir disposer d'un formulaire de recherche (un peu comme l'exemple joint) ou les chirurgiens pourraient effectuer une recherche par nom de patient (colonne B) et/ou Par opérateur (colonne I) et/ou par spécialités (colonne X). Le résultat de la recherche doit aller scanner les 4 ( voire 5) semaines que constitue le mois. Pour plus de lisibilité, les résultats de la recherche ne doivent pas contenir l'ensemble des information d'une ligne mais seulement la date, les nom/prénom du patient, l'age, le sexe, l'opérateur et l'intervention.

J'ai essayé de modifier le code pour l'adapter à ma problématique, mais c'est la première fois que j'utilise un userform... et je vous avoue que je suis un peu perdu. D'ailleurs, si le formulaire de recherche pouvait être fixe sur un onglet "recherche", je pense qu'on y gagnerait en simplicité et donc en compréhension pour mes chères collègues chirurgiens;).

D'avance merci de votre précieuse aide
 

Pièces jointes

  • PROGRAMME OPERATOIRE GENERAL AOUT10.zip
    44.9 KB · Affichages: 95
  • PROGRAMME OPERATOIRE GENERAL AOUT10.zip
    44.9 KB · Affichages: 96
  • PROGRAMME OPERATOIRE GENERAL AOUT10.zip
    44.9 KB · Affichages: 97
  • recherche.zip
    19.8 KB · Affichages: 113
  • recherche.zip
    19.8 KB · Affichages: 115
  • recherche.zip
    19.8 KB · Affichages: 114

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonjour Tahititin, le forum,

Il y avait plus simple pour conserver les valeurs des ComboBox : mettre ComboBox2.RowSource = ""... en tête !

Prenez ces versions (2) du fichier annuel.

A+
 

Pièces jointes

  • Année(2).zip
    41.7 KB · Affichages: 42
  • Année majuscules(2).zip
    42.1 KB · Affichages: 25
  • Année accents(2).zip
    43 KB · Affichages: 23

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Job75,
Encore une fois bravo pour ces adaptations. Je vais tenter de répondere à tes question du post#28 :

1) Votre post #26.
Si l'on supprime .Borders(xlInsideHorizontal).Weight = xlThin qui crée le bug, il est bien normal qu'ensuite il n'y ait plus de bug...
Mais alors les bordures intérieures à droite des cellules fusionnées ne sont certainement pas Thin, mais Medium.
Effectivement, je n'ai plus de bug et les bordures intérieur sont medium... mais je n'ai plus de bug :D
Avez-vous bien essayé la macro de mon post #25 et quel est le résultat ?? Débogage toujours à la même ligne même avec continuous à la fin

2) Il y avait bien un bug quand on changeait de mois avec la ComboBox2 renseignée.
J'ai donc modifié (légèrement) les macros des 3 fichiers de mon post #7, mettez à jour vos copies. Je n'avais pas intégré ces léger changement... je vais m'y atteler de ce pas et te tiendrais au courant
3) Votre post #27 sur les fichiers mensuels.
Avez-vous bien mesuré qu'un mois peut comporter 4, 5 ou 6 semaines, la 1ère et la dernière pouvant être à cheval sur 2 mois ? Je n'avais pas intégrer le fait des semaines à cheval sur plusieurs mois, je vais donc réaliser une maquette avec 52 semaines et avec les nouvelles option de recherche, j'espère que mes collègues les plus récalcitrant y adhéreront :eek:
Je te tiens au courant de mes différents essais

A+
 

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Job75,
Bone nouvelle, j'ai présenté le programme opératoire sur 52 semaine avec la recherche en staff ce jour... et j'ai un accord de principe... Je commence à en voir le bout !!!
Par contre il m'a été demandé une chose, à laquelle je n'ai malheureusement pas pu répondre :
Est-il possible de surligné en rouge (par exemple) dans la listeview1 les intervention provenant d'une certaine spécialité. J'ai plusieurs spécialité qui sont scanné et synthètiser sur le programme opératoire général... j'ai un classeur EXCEL qui s'intitule "AMBU 10" pour Ambulatoire 2010 dans laquel j'ai plusieurs spécialité confondu (ortho, viscérale, gynéco...). Lors de la recherche avec le userform, par mois et par opérateur, il aimeraient pouvoir identifier si c'est une chirurgie normale ou une chirurgie ambulatoire. C'est pourquoi j'ai pensé au fait de pouvoir surligner en rouge toutes intervention provenant du programme spécialité AMBU.
Est-ce possible ?

Merci
A+
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonjour Tahititin,

Est-ce possible ?

Je n'en sais strictement rien, ouvrez une autre discussion pour cela.

Bien entendu il faut que l'information soit dans le fichier où se fait la recherche, donc il vous faudra compléter la macro qui "fabrique" ce fichier.

J'aimerais bien pour terminer avoir vos commentaires sur les fichiers de mon post #31 ;)

A+
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Re,

Finalement ce n'est pas très difficile :

- en feuille "Recherche" faire la liste des spécialités à distinguer par une couleur

- nommer Couleur la plage de ces spécialités (plage évolutive)

- dans la macro Recherche de l'UserForm1 ajouter ce code :

Code:
If Application.CountIf([Couleur], w.Cells(i, "X")) Then
  For j = 1 To 8
    .ListItems(.ListItems.Count).ListSubItems(j).ForeColor = [COLOR="Red"]&HC0&[/COLOR] 'ou [COLOR="red"]&HFF&[/COLOR] 'police rouge
  Next
End If

Fichiers (3) joints.

EDITION : pour le clic dans la ListView, j'ai aussi modifié cette ligne :

Code:
  Set plage = Range("A3:A65536").Find(CDate(.ListSubItems(2))[COLOR="Red"], LookIn:=xlFormulas, LookAt:=xlWhole[/COLOR]).MergeArea.EntireRow

Ce n'est pas anodin, si vous utilisez des fichiers précédents modifiez-les aussi.

A+
 

Pièces jointes

  • Année(3).zip
    42 KB · Affichages: 35
  • Année majuscules(3).zip
    42.5 KB · Affichages: 23
  • Année accents(3).zip
    43.2 KB · Affichages: 19
Dernière édition:

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonjour Tahititin, le forum

Bien sûr, pour colorier, une solution est de mettre les informations dans les feuilles "Semaine".

Par exemple en colonne Y.

A+
 

Pièces jointes

  • Année(4).zip
    42.9 KB · Affichages: 29
  • Année(4).zip
    42.9 KB · Affichages: 25
  • Année(4).zip
    42.9 KB · Affichages: 26
  • Année majuscules(4).zip
    43 KB · Affichages: 17
  • Année majuscules(4).zip
    43 KB · Affichages: 22
  • Année majuscules(4).zip
    43 KB · Affichages: 20
  • Année accents(4).zip
    44.6 KB · Affichages: 27
  • Année accents(4).zip
    44.6 KB · Affichages: 24
  • Année accents(4).zip
    44.6 KB · Affichages: 28

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Bonjour Job75,
J'avais déjà pensé à rajouter une colonne. Je l'ai même rajouter sur mes programme par spécialité et fait et sorte qu'elle soit scanné sur le programme opératoire générale !!
Ce programme est une petite merveille ! Tout le monde en est ravis... Encore mercie pour tout.
J'ai juste un petit problème avec le formulaire de recherche par rapport aux date.
J'ai fait un programme général sur 52 semaines et comme tu me l'a justement fait remarquer, il y a des semaines qui sont à cheval sur 2 mois (ex : la semaine 35 commence le lundi 30/08 pour se terminer le dimanche 05/09) losrque je lance la recherche et que je selectionnne le mois d'aout, la liste des intervention s'arrête bien au 31/08. Par contre losrque je selection le mois de septembre, la première intervention est celle du 06/09 (premier jour de la semaine 36. Je perds donc 5 jours d'intervention... ce qui est plutôt embettant !!!!
J'ai essayé de modifier le code mais rien à faire, je perds toutes les fin de semaine qui sont à cheval sur 2 mois !

A+
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonjour Tahititin, le forum,

Pas très orthodoxe, car un mois c'est un mois...

En recherchant sur le mois de juillet l'utilisateur va d'abord tomber sur des interventions de juin et va croire que le programme se plante, enfin...

J'ai essayé de modifier le code mais rien à faire (...)

Essayé ? Sûrement pas longtemps car au lieu de :

If d And Month(d) = m Then

il suffisait d'écrire dans la macro Recherche :

If d Then

Fichiers (5) joints.

A+
 

Pièces jointes

  • Année(5).zip
    43 KB · Affichages: 42
  • Année majuscules(5).zip
    43 KB · Affichages: 19
  • Année accents(5).zip
    44.6 KB · Affichages: 28
Dernière édition:

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Re,

Juste encore une chose sur la version (4), quand vous écrivez :

Par contre losrque je selection le mois de septembre, la première intervention est celle du 06/09 (premier jour de la semaine 36. Je perds donc 5 jours d'intervention...

je comprends mal car si la semaine 35 existe (30/08-03/09) vous récupérez bien les 01/09 02/09 03/09 :rolleyes:

A+
 

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Job75,
Oui toutes les semaines existent, comme je te l'ai dis plus haut, j'ai créé le fichier avec 52 semaines.
Avec l'ancien code :
La semaine 35 va du 30/08 au 05/09
La semaine 36 va du 06/09 au 12/09
Lorsque je lance la macro recherche en selectionnant le mois d'aout : j'ai la liste des interventions du 02/08 au 31/08
Lorsque je lance la macro recherche en selectionnant le mois de septembre : j'ai la liste des interventions du 06/09 au 30/09
Nous sommes bien d'accord que entre les mois de aout et septembre, il me manque les interventions du 01/09, 02/09, 03/09, 04/09 et 05/09... Non ???

Avec la modification du code : lorsque je selectionne AOUT dans la macro recherche j'ai les interventions du 02/08 au 05/09. et pour SEPTEMBRE, les intervention du 06/09 au 03/10... Je pensais que la macro irait rechercher spécifiquement le mois : du 01/08 au 31/08 et du 01/09 au 30/09

A+
 

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Autre chose,
Avec le nouveau code, dans la fenêtre de recherche, quand je selectionne le mois de décembre, toutes les interventions de l'année apparaissent. Au début je trouvais cela embettant, il est vrai q'arrivé au mois de décembre, il faut pouvoir retrouver les infos en fin de liste. Mais je trouve trés interressant de pouvoir faire une recherche multicritère sur l'ansemble de l'année. EN fait il faudrait pouvoir avoir dans le menu déroulant des mois (Janvier à décembre et année qui donnerait toutes les interventions.
A+
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonjour Tahititin,

Lorsque je lance la macro recherche en selectionnant le mois de septembre : j'ai la liste des interventions du 06/09 au 30/09
Nous sommes bien d'accord que entre les mois de aout et septembre, il me manque les interventions du 01/09, 02/09, 03/09, 04/09 et 05/09... Non ???

Ben NON pas du tout, et je ne comprends vraiment pas ce que vous fabriquez...

Sur les versions (4) jointes j'ai mis les semaines 31 35 36.

Je le répète encore une fois (et la dernière Tahititin) : en sélectionnant Septembre, on obtient bien les dates 01/09-02/09-03/09, les 04/09 et 05/09 étant le week-end...

A+
 

Pièces jointes

  • Année(4).zip
    42.9 KB · Affichages: 56
  • Année(4).zip
    42.9 KB · Affichages: 60
  • Année(4).zip
    42.9 KB · Affichages: 49
  • Année majuscules(4).zip
    43.1 KB · Affichages: 40
  • Année majuscules(4).zip
    43.1 KB · Affichages: 46
  • Année majuscules(4).zip
    43.1 KB · Affichages: 42
  • Année accents(4).zip
    44.6 KB · Affichages: 34
  • Année accents(4).zip
    44.6 KB · Affichages: 32
  • Année accents(4).zip
    44.6 KB · Affichages: 36
Dernière édition:

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Re,

Juste une précision (évidente) au cas où...

Si vous créez des feuilles "Semaine" sans adapter les dates qui s'y trouvent, ne vous étonnez pas d'obtenir n'importe quoi :rolleyes:

Regardez 30 secondes la macro Recherche et vous verrez que le n° de semaine n'est jamais utilisé : on lit simplement sur toutes les feuilles les dates des cellules A2 et D2.

A+
 

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche

Job75,
Je comprends bien que vous puissiez être excédé par tout ça. Je ne fais que vous exposer les faits. Effectivement sur le fichier que vous joignez avec les 3 semaines, tout fonctionne très bien! Mais quand je le transpose sur mon fichier de 52 semaines, certains bug persistent. J'ai pourtant essayé de procéder pas à pas à partir de vos fichier... je ne compte plus mes tentatives (j'espère que cela réponds à votre question sur ce que je "fabrique"!)
Avant toute chose, sachez que la médecine et encore moins la chirurgie ne peut se permettre de s'arrêter le WE... des interventions sont donc programmées le WE, et je persiste (et ce ne sera certainement pas la dernière fois) dans le fait que je perds des interventions à cheval sur 2 mois... mais pas pour tous les mois (Novembre décembre, pas de problème la macro recherche me donne bien les intervention du 1er au 30 (ou 31) même si les semaines sont à cheval sur 2 mois), par contre pour les mois de Aout, septembre et octobre, les résultats de la macro recherche me donne les interventions du premier jour de la semaine du mois (qui n'est pas forcément le 1er du mois) jusqu'au 30 (ou 31) du mois.
Pour simplifier la macro recherche check les interventions du 1er jour de la semaine du mois sélectionné jusqu'au dernier jour du mois :
Aout : intervention du 02 au 31/08
Septembre : intervention du 06/09 au 30/09
Octobre : intervention du 04/10 au 31/10
Novembre : du 01/11 au 30/11 (et oui là ça marche !)
Décembre : du 01/12 au 31/12 (là encore)
Etonnant non ??????
Avec la modification du code cité gentiment dans l'un de vos post (If d And Month(d) = m Then qui devient If d Then) la macro recherche me donne les intervention du premier jour de la première semaine du mois et non celle du premier jour du mois :
Aout : du 02/08 au 05/09
Septembre : du 06/09 au 03/10
Octobre : du 04/10 au 31/10
Novembre : du 01/11 au 05/12
Décembre : du 02/08 au 02/01/2011 c'est n'at pas une erreur de ma part, avec la modification du code le mois de décembre me donne toutes les interventions de l'année (Vous aurez certainement compris que dans mon essais, les interventions ont été saisie à partie du 02/08... semaine 31)
Je ne perds donc plus d'interventions, mais ce n'ai plus vraiment une recherche mensuelle et encore moins pour le mois de décembre !

Je ne suis pas idiot au point de ne pas adapter les dates qui se trouve dans mes onglets "semaine", j'ai même fait en sorte qu'il se soit nécessaire que de saisir la date du premier jour de la première semaine de l'année pour que le reste soit automatiquement complété (sur mes fichier sources qui sont ensuite scanné par la macro du programme opératoire général). Je sais également que le n° de la semaine n'a pas d'incidence sur la macro recherche.

A+
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche

Bonsoir Tahititin,

Pas possible tout ça !

Si vous voulez avoir tous les week-ends, il faut mettre en cellule D2 des feuilles "Semaine" :

Code:
=A2+[COLOR="Red"][SIZE="3"]6[/SIZE][/COLOR]

Qui a mis 4 Tahititin ? Pas moi en tout cas :rolleyes:

En effet je commence à en avoir ras-le-bol :eek:

A+
 

Discussions similaires

Réponses
5
Affichages
385

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 823
dernier inscrit
ben talha redouane