Formulaire de recherche multicritère + mots clefs

Tahititin

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Je dispose d'une base de données de document (en pièce jointe) que je souhaite rendre accessible à environ 500 personnes repartis sur 2 sites distants en passe de fusionner. Pour facilité la recherche, je souhaiterai créer un formulaire de recherche multicritère style userform.

Première chose, la macro que j'ai écrite ne fonctionne pas !!!!! les tris sur la feuil1 se font de manière très bizarre, il doit y avoir une raison mais je ne trouve pas laquelle.

Les critères de recherches sont les suivants :
- SITE (colonne H) : LOOS, HAUBOURDIN ou COMMUN, je voudrais pouvoir afficher les choix LOOS ou HAUBOURDIN et que les document COMMUN soit systématiquement affiché quelque soit le choix.... vu qu'ils sont commun au 2 sites.
- TYPE (colonne C) : RF, PG PO FT, FT, FP, NO, EN, GE
- THEME : ADM, ANI, DAQ, HOS, HOT, HYG, INF, KIN, MED, PAD, PHA, SEC, SOI, SOR, TEC, TEX VIG
- Numéro : de 01 à 200 (la aussi j'ai un soucis puisque la codification peut être à 2 ou 3 chiffres (01, 001, 010, 10, 100) et comme excel est très intelligent il me supprime les "0" qui précédent
- Mots clefs : c'est là que ça se complique : pas de menu déroulant mais un champs libre pour taper un mot clefs à aller chercher dans la colonne J et N de la base de donnée.... je doute que cela puisse être réalisable.

Chaque items pourra être saisie indifféremment et indépendamment des autres

Dernier soucis que je ne parviens pas à supprimer : Mon fichier se verrouille automatiquement à chaque fermeture... pourtant je n'ai pas saisi de macro en ce sens !!! le mot de passe est basiquement tahititin.

D'avance merci pour votre précieuse aide
 

Pièces jointes

  • SOMMAIRE.xlsm
    320.5 KB · Affichages: 418
  • SOMMAIRE.xlsm
    320.5 KB · Affichages: 422
  • SOMMAIRE.xlsm
    320.5 KB · Affichages: 459

patoq

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

salut Tahititin,

Deja tu as défini un nom qui s'appelle TYPE ,donc dans ton combobox 3 ,définis ta roxsource par TYPE (en majuscule) ça devrait aller mieux!!!
Je regarde un peu le reste
A plus

EDIT : dsl c'est mon excel qui fait des caprices ,oublie mon dernier message
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Bonjour Tahititin, salut patoq,

Vous avez fait du travail, on va pouvoir faire quelque chose :)

Déjà pour commencer :

1) Chez moi sur Excel 2003 le nom "N°" n'est pas valide, je l'ai remplacé par "Numéro".

2) Le fichier était protégé en lecture : onglet Fichier => Enregistrer sous => Outils => Options générales...

J'ai supprimé le mot de passe...

3) J'ai mis dans ThisWorkbook la macro Workbook_Open qui ouvre l'UserForm.

Fichier joint enregistré en .xls.

A+

A+
 

Pièces jointes

  • SOMMAIRE(1).xls
    721.5 KB · Affichages: 508

patoq

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

Salut job75, re tahititin
Voila une premiere ebauche ,la listview ne se remplit pas encore mais le tri se fait .
A plus


Désolé je suis limité a 293 ko ,obligé de le zipper
 

Pièces jointes

  • test SOMMAIRE.zip
    272.7 KB · Affichages: 332

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Re,

J'ai revu le code pour cette version (2).

Pas compris pourquoi vous passiez en revue toutes les feuilles avec For Each w In Worksheets...

Pour le N° j'ai mis cette formule en E3 => =TEXTE(DROITE(K3;3);"000")

Noter que la recherche sur Mots clés fonctionne bien.

A+
 

Pièces jointes

  • SOMMAIRE(2).zip
    184.9 KB · Affichages: 267

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

Merci patoq et Job75 de passer du temps sur ce projet.

Le tri fonctionne super bien (quand je pense aux heures que j'ai passé là dessus et vous en 5 min c'est réglé.... c'est un métier). Plusieurs choses cependant :
- De mon côté, la recherche par mot clefs ne fonctionne pas, est-ce une mauvaise manip de ma part ?
- Le N° va être un soucis, je m'en doutais !!! en fait, comme il s'agit de la fusion de 2 bases documentaires (et de la création d'une 3ème) il est important de pouvoir saisir le N° avec 2 ou 3 chiffre. Je m'explique, je peux avoir une PG ADM 01 et une PG ADM 001, mais leur intitulé sera différent.
- 3ème et dernier point (désolé), je ne vois pas bien comment je peux pour le "Site", selectionner LOOS ou HAUBOURDIN et avoir les résultats de LOOS + COMMUN ou HAUBOURDIN + COMMUN. Le commun correspondant à ma 3ème base documentaire cité plus haut.

Merci
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Bonsoir Tahititin, le forum,

Version (3) où j'ai tenu compte de vos remarques.

1) Les sites "commun" sont maintenant toujours affichés dans la ListView.

2) Les N° sont affichés avec 2 ou 3 chiffres (voir formule en E3). Pour leur classement dans la ComboBox , on utilise la liste auxiliaire (numérique) en Feuil1 colonne E (tri sur 2 colonnes, E puis D).

3) La recherche par mot clé s'effectue sur les colonnes J et N du tableau entier. Toutes les ComboBox1 sont alors effacées.

4) Quelques améliorations : Label RAZ, centrage des colonnes "Version" et "Date", format des dates.

A+
 

Pièces jointes

  • SOMMAIRE(3).zip
    191.7 KB · Affichages: 302
Dernière édition:

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

MERCI Job75,
Je n'ai qu'un mot qui me vient à l'esprit : GENIAL !
Seul regret : les heures passées hier soir pour améliorer le UserForm et y mettre un bouton RAZ (les grands esprits se rencontre !).... mais maintenant je sais le faire ! je vous joins ma version juste pour le fun (et parce que j'en suis fier) car elle est complètement obsolète.

J'ai une ultime question : ya t'il un bout de code qui permet de conserver les fonctions des liens hypertextes dans la listview ?

Encore merci
 

Pièces jointes

  • SOMMAIRE(2).xls
    788.5 KB · Affichages: 272

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Bonjour Tahititin, le forum,

Bravo pour la présentation de l'UserForm, mais il n'y est pas tenu compte de la version (3) du post #8.

Voici une version (4) avec 2 nouvelles améliorations :

1) La recherche par mots clés tient maintenant compte du contenu des ComboBox, c'est plus logique.

2) J'ai ajouté le site (vide) dans la liste de ComboBox1 (SITE).

En effet il y a des sites non renseignés en colonne E, il est utile de pouvoir les afficher.

Bien entendu utilisez la version que vous voulez

J'ai une ultime question : ya t'il un bout de code qui permet de conserver les fonctions des liens hypertextes dans la listview ?

Peut-être, s'il est possible de ne sélectionner qu'une partie d'une ligne, mais je n'en sais rien.

A+
 

Pièces jointes

  • SOMMAIRE(4).xls
    726.5 KB · Affichages: 281

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

Merci Job75 pour ces dernières fonctionnalités très pratiques.
Juste une chose, il n'est visiblement plus possible d'effectuer une recherche par mot clef, si le SITE n'est pas saisi... ce qui était très pratique dans la version 3. Il n'est pas non plus possible de saisir le site puis le mot clef. Il faut dans l'ordre saisir le mot clef puis le site.

Pour les liens hypertexte, j'y suis presque mais visiblement, d'aprés ce que j'ai lu, il faut une listBox et non une listview.

Je continu mes recherche

Merci
 

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Re,

Là vous m'étonnez beaucoup Tahititin, la version (4) permet de faire ce que l'on veut [voir l'Edit]...

En laissant les ComboBox vides, tapez "Administration" en mot clé et cliquez au-dessus : chez moi je trouve 4 items.

Ensuite en mettant "LOOS" dans ComboBox1 je trouve 2 items.

Pour les liens hypertexte, voyez cette version (5). La méthode utilisée :

- les liens existant dans la feuille sont repérés en rouge dans la ListView

- leur sélection alimente un Label, grace au n° de ligne existant dans la 1ère colonne (masquée)

- le clic sur le Label active le lien de la cellule mère.

Testez avec les 3 liens que j'ai créés dans la feuille.

Edit : ah oui j'ai compris, sur Excel 2003 le Label6 est invisible : j'ai mis la macro sur Label5 (Mots clés).

A+
 

Pièces jointes

  • SOMMAIRE(5) lien hypertexte.xls
    741 KB · Affichages: 370
Dernière édition:

job75

XLDnaute Barbatruc
Re : Formulaire de recherche multicritère + mots clefs

Bonjour Tahititin, le forum,

Pour les liens hypertexte cette version (6) est plus simple :

Code:
Private Sub ListView1_Click()
Dim L&
L = ListView1.SelectedItem 'valeur en 1ère colonne
ListView1.SelectedItem.Selected = False 'désélectionne, facultatif...
DoEvents
On Error Resume Next
Sheets("SOMMAIRE COMMUN").Cells(L, "N").Hyperlinks(1).Follow , True
End Sub
PS : j'ai remis le clic des Mots clés sur Label6...

Edit : déplacé On Error Resume Next au tout début de la macro ListView1_Click.

A+
 

Pièces jointes

  • SOMMAIRE(6) lien hypertexte.xls
    728 KB · Affichages: 288
Dernière édition:

Tahititin

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

Merci beaucoup Job75 pour votre investissement,

J'ai adapté la version (6) a mes besoins (le lien hypertexte "tape" sur la colonne K), et cela tourne super bien. Je l'ai mis en phase test auprès d'un panel d'utilisateurs (pour rappel, cette base de données doit être accessible à plus de 500 utilisateurs). Je n'ai que des retours positifs.
Seul point que je ne parviens pas à résoudre : quand on clique sur la listview et que tous les combobox et textbox sont vides, j'ai une erreur d’exécution '91' : variable objet ou variable de bloc with non défini entraînant un débogage.

Je vous joins la version final (Excel 2010). Les liens ne fonctionneront certainement pas puisqu'il "tape" dans un dossier réseau.

Encore un grand merci
 

Pièces jointes

  • SOMMAIRE DES DOCUMENTS QUALITE.xlsm
    783.4 KB · Affichages: 519
  • SOMMAIRE DES DOCUMENTS QUALITE.xlsm
    783.4 KB · Affichages: 586
  • SOMMAIRE DES DOCUMENTS QUALITE.xlsm
    783.4 KB · Affichages: 611

patoq

XLDnaute Occasionnel
Re : Formulaire de recherche multicritère + mots clefs

Salut tahititin ,salut job75

Remplace la macro listview click par :

VB:
 Private Sub ListView1_Click()
Dim L&
If ListView1.ListItems.Count > 0 Then
L = ListView1.SelectedItem 'valeur en 1ère colonne
ListView1.SelectedItem.Selected = False 'désélectionne, facultatif...
DoEvents
On Error Resume Next
Sheets("SOMMAIRE COMMUN").Cells(L, "N").Hyperlinks(1).Follow , True
End If
End Sub

En fait tu ajoute une condition si superieure à 0.
A plus
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées