OVH Cloud OVH Cloud

Moteur de recherche dans excel

27 réponses
Avatar
Fredo(67)
Bonjour,

J'ai un fichier qui r=E9pertorie des projet qui sont archiv=E9s chez nous.
Ces donn=E9es sont repr=E9sent=E9es dans un simple tableau

je cherche =E0 cr=E9er un moteur de recherche (simple) pour pouvoir
retrouver facilement un dossier

sauriez vous m'aiguiller dans mes recherches ?

merci

7 réponses

1 2 3
Avatar
Mishell
Pour ce genre de recherche avec de nombreux critères, je choisirais la
suggestion de LSteph qui dit : "on peut alors envisager un filtre
automatique personalisé et
utiliser Et ou OU selon l'objectif."

Mishell


"Fredo(67)" a écrit dans le message de news:

Bonjour,
Pour répondre à Daniel
Mon tableau comporte disons un millier de ligne et une quinzaine de
colonnes (Nom, adresse, maitre d'ouvrage, maitre d'oeuvre, date début,
date fin, xxx, yyy, zzz, www...)


en fait je connais Ctrl+F
ce que je voulais c'est avoir un userbox dans lequel on pourrait avoir
plusieurs champs de recherche proposé
par exemple, dans une case noter tout ou partie d'un nom de chantier.
dans une autre tout ou partie du nom du maitre d'ouvrage
dans une autre tout ou partie du nom du maitre d'oeuvre
dans une autre enfin la date (voir un encadrement de date)

et ensuite un bouton recherche.

une zone située en dessous montrant les 5 (variable) dossiers les plus
pertinents

La sélection d'un dossier déclenche une macro.

En fait, je ne voulais pas forcément développer une application
propre, mais je me demandait s'il n'existait pas de "moteur tout fait"
Avatar
Mishell
Il y a ici un très bon tutoriel sur les filtres élaborés:
http://www.ybet.be/formation_excell/13-filtre-elabore.htm#resume

Mishell

"Fredo(67)" a écrit dans le message de news:

Bonjour,
Pour répondre à Daniel
Mon tableau comporte disons un millier de ligne et une quinzaine de
colonnes (Nom, adresse, maitre d'ouvrage, maitre d'oeuvre, date début,
date fin, xxx, yyy, zzz, www...)


en fait je connais Ctrl+F
ce que je voulais c'est avoir un userbox dans lequel on pourrait avoir
plusieurs champs de recherche proposé
par exemple, dans une case noter tout ou partie d'un nom de chantier.
dans une autre tout ou partie du nom du maitre d'ouvrage
dans une autre tout ou partie du nom du maitre d'oeuvre
dans une autre enfin la date (voir un encadrement de date)

et ensuite un bouton recherche.

une zone située en dessous montrant les 5 (variable) dossiers les plus
pertinents

La sélection d'un dossier déclenche une macro.

En fait, je ne voulais pas forcément développer une application
propre, mais je me demandait s'il n'existait pas de "moteur tout fait"
Avatar
Fredo(67)
Merci à tous de vous être penché sur mon problème.

j'ai sélectionné la 2ème solution de JB,

je l'ai adapté à mon classeur, mis à jour mes macros, et cela donne u n
résultat final parfaitement convainquant.

Merci encore



On 27 fév, 16:35, "Mishell" wrote:
Il y a ici un très bon tutoriel sur les filtres élaborés:http://www .ybet.be/formation_excell/13-filtre-elabore.htm#resume

Mishell

"Fredo(67)" a écrit dans le message de news:

Bonjour,
Pour répondre à Daniel
Mon tableau comporte disons un millier de ligne et une quinzaine de
colonnes (Nom, adresse, maitre d'ouvrage, maitre d'oeuvre, date début,
date fin, xxx, yyy, zzz, www...)

en fait je connais Ctrl+F
ce que je voulais c'est avoir un userbox dans lequel on pourrait avoir
plusieurs champs de recherche proposé
par exemple, dans une case noter tout ou partie d'un nom de chantier.
dans une autre tout ou partie du nom du maitre d'ouvrage
dans une autre tout ou partie du nom du maitre d'oeuvre
dans une autre enfin la date (voir un encadrement de date)

et ensuite un bouton recherche.

une zone située en dessous montrant les 5 (variable) dossiers les plus
pertinents

La sélection d'un dossier déclenche une macro.

En fait, je ne voulais pas forcément développer une application
propre, mais je me demandait s'il n'existait pas de "moteur tout fait"


Avatar
f f
JB,

j'ai adapté ton fichier pour mes besoins
Tu avias même modifié ton code pour lancer la recherche sur un appuis
sur un touche OK

Par contre,
mes données ne sont pas des valeurs :
je m'explique, les cellules sur lesquelles je fait ma recherche ne
contiennent pas de valeur, mais des formules, et c'est sur le résultat
des formules que je fait ma recherche
(en fait la formule consiste à récupérer une donnée provenant d'un
autre fichier)

y'a t'il moyen de modifier la macro pour qu'elle prenne aussi en
compte le fait qu'il faut qu'elle utilise le résultat des formules ?

merci
Avatar
JB
Bonsoir,

Set c = plage.Find(Me.TextBox1, , xlValues, xlPart)

JB


On 18 mar, 11:43, f f wrote:
JB,

j'ai adapté ton fichier pour mes besoins
Tu avias même modifié ton code pour lancer la recherche sur un appuis
sur un touche OK

Par contre,
mes données ne sont pas des valeurs :
je m'explique, les cellules sur lesquelles je fait ma recherche ne
contiennent pas de valeur, mais des formules, et c'est sur le résultat
des formules que je fait ma recherche
(en fait la formule consiste à récupérer une donnée provenant d'u n
autre fichier)

y'a t'il moyen de modifier la macro pour qu'elle prenne aussi en
compte le fait qu'il faut qu'elle utilise le résultat des formules ?

merci
Avatar
f f
C'est vraiment super, et je t'en remercie beaucoup

Par contre, j'ai maintenant un drôle de résultat :

Je fait une recherche,
- si le résultat de ma recherche correspond à plusieurs lignes, je
sélectionne une des ligne et là pas de soucis, le fait de cliquer sur
Recup ligne sélectionnée me renvoie les valeurs de toutes les colonnes

- si le résultat de ma recherche correspond à UNE SEULE ligne, je
sélectionne la ligne et là, le fait de cliquer sur Recup ligne
sélectionnée me renvoie le contenu de la première colonne (répét é dans
toutes les colonnes)

Voici ton code adapté avec mes ajouts pour la suite de ma macro
*****
Private Sub b_recupLigne_Click()
Sheets("Result").Cells.ClearContents
Sheets("Result").Range("A2").Resize(, nbcol) = _
Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex + 1)
For i = 1 To nbcol
Sheets("Result").Cells(1, i) = Me("label" & i).Caption
Sheets("Result").Cells(1, i).Font.Bold = True
Next
'cache le formulaire de recherche
UserForm1.Hide
'selectionne la feuille result et la ligne 2 de cette feuille
Sheets("result").Select
Range("a2").Select
'lance la localisation
SelectArmoire
End Sub
******
Avatar
f f
UP ?


On 19 mar, 08:40, f f wrote:
C'est vraiment super, et je t'en remercie beaucoup

Par contre, j'ai maintenant un drôle de résultat :

Je fait une recherche,
- si le résultat de ma recherche correspond à plusieurs lignes, je
sélectionne une des ligne et là pas de soucis, le fait de cliquer sur
Recup ligne sélectionnée me renvoie les valeurs de toutes les colonne s

- si le résultat de ma recherche correspond à UNE SEULE ligne, je
sélectionne la ligne et là, le fait de cliquer sur Recup ligne
sélectionnée me renvoie le contenu de la première colonne (répé té dans
toutes les colonnes)

Voici ton code adapté avec mes ajouts pour la suite de ma macro
*****
Private Sub b_recupLigne_Click()
  Sheets("Result").Cells.ClearContents
  Sheets("Result").Range("A2").Resize(, nbcol) = _
     Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex + 1)
  For i = 1 To nbcol
    Sheets("Result").Cells(1, i) = Me("label" & i).Caption
    Sheets("Result").Cells(1, i).Font.Bold = True
  Next
  'cache le formulaire de recherche
  UserForm1.Hide
  'selectionne la feuille result et la ligne 2 de cette feuille
  Sheets("result").Select
  Range("a2").Select
  'lance la localisation
  SelectArmoire
  End Sub
******
1 2 3