moteur de recherche dans cellule

cindy75015

XLDnaute Junior
bonjour
je recherche de l'aide pour créer un petit moteur de recherche dans une la cellule E9

l’idéal si c'est possible des la saisie d'un caractère ou plusieurs, la cellule E9 (ou autre)affiche les résultats(les résultats commence par le contenue de la cellule E9 et rechercher dans la feuille "bd")
si je sélectionne le résultat désiré alors il m'affiche les emplacements dans la colonne A(les autres élément seront remplie par une recherche v)
merci Cindy
 

Pièces jointes

  • test cindy recherche.xlsx
    29.8 KB · Affichages: 51

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche dans cellule

Bonsoir Si..., Re Cindy, Julie, le Fil, le Forum, les Amis, les Amies, les Voisins, les Collèques !!!

Effectivement, testé avec les 1734 Lignes et "123" et mon timer à la C...

timer_si.jpg

J'aurai pu penser que le Find soit plus rapide qu'un Like sur toutes les Cellules mais bon ... La preuce est là !

Gagnant = Si...:)

Bonne continuation !
@+Thierry
 

cindy75015

XLDnaute Junior
Re : moteur de recherche dans cellule

tu la encore Thierry
qu'en pense tu par rapport a ton fichier il m'avait l'air d’être simple et rapide
cindy
pour le moment je tourne avec ta version 4
mais quand je fais le trie il me decale les couleur de ligne
j'ai du oublier quelque chose

Sub MyIndexColor() 'just pour avoir les colorindex
Dim i As Byte

For i = 1 To 56
Cells(i, 1) = i
Cells(i, 2).Interior.ColorIndex = i
Next



End Sub

je doit le mettre aussi ca
 

Pièces jointes

  • fichier cindy1.xlsm
    62.8 KB · Affichages: 27
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche dans cellule

RE Cindy

OUIje te remets en PJ, le fichier de Si... Mais je pense qu'il reviendra avec une meilleure version.

NON l'indexColor c'est juste pour te permettre de choisir parmis les 56 couleur, il ne sert pas.

Par contre OUI le Tri plante les indexcolor (Zut je n'y avais plus pensé à ce Tri là avec toutes ces demandes en feu d'artifice :)), il faut les enlever avant le tri et les remettre après le tri si tu conserves ma version... mais c'est lourdingue

Bonne Soirée
@+Thierry
 

Pièces jointes

  • Cindy_Si_RechercheTri.xls
    87 KB · Affichages: 40

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche dans cellule

Re Cindy

Voici la version 5 qui fait ce que j'ai dit dans mon dernier Post... Ceci en partant du dernier fichier que tu as posté (fichier cindy1.xlsm)

Je me suis inspiré du Tri de Si... il est plein de ressource ce Si là !

Regarde si ca va ?

Bonne Soirée
@+Thierry
 

Pièces jointes

  • test cindy recherche_Thierry_V05.xlsm
    64 KB · Affichages: 44

Si...

XLDnaute Barbatruc
Re : moteur de recherche dans cellule

re
Je me suis inspiré du Tri de Si... il est plein de ressource ce Si là !

je suis à bonne école;). Tu as raison Thierry, les MFC peuvent plomber le chrono !

Je remets donc un fichier corrigé (Je me suis inspiré du Tri de _Thierry... il est plein de ressource celui-là :p!)
 

Pièces jointes

  • RechercheTri.xls
    408 KB · Affichages: 41

cindy75015

XLDnaute Junior
Re : moteur de recherche dans cellule

bonsoir thierry ,SI,lefil
en effet si est revenu avec une version supersonic fonctionnel en un minimum de ligne
j'aurais peut être réussi a trouver le même résultat même avec au moins 50 lignes et en montant une usine a gaz
la au moins c'est propre comme code
je n' arrive malheureusement pas a comprendre le code (encore loin de votre niveau thierry et SI
si tu as le tps de l'expliquer ce serait sympa car pour terminer l' application j'ai encore une feuille avec 3 recherches dans le meme cas de code que tu as fait
j'essaye de jouer avec ton code mais sans resultat je te met quand meme la dernier feuille (reporting)je n'ose pas t' en demander trop
une validation de donné en D8 avec 3 choix selon le choix afficher les info
que j'ai decrit sur la feuille
choix 1 afficher tous les emplacement libre (la plage est nommé Dispo)
choix 2 afficher tous les emplacement occupé (la plage est nommé Loue)avec les info qui suivent
choix 3 afficher les concordance disponible c'est a dire même début de séquentiel, même fin de sequenciel, même référence et même client avec la premier palette le bon de commande te la référence en concordance l' EP


est ce que tu vois ce que je cherche a faire

après je ne vous embête plus SI et thierry sauf pour vous remercier de ma reconnaissance de votre aide
 

Pièces jointes

  • testreporting cindy.xlsm
    96.4 KB · Affichages: 38

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche dans cellule

Bonsoir Cindy

Je t'explique le Code de Si...

Option Explicit = OBLIGATION DE DECLARER LES VARIABLES
Option Compare Text OPTION POUR COMPARER LES MINUSCULES DE MAJUSCULES (pour la recherche TextBox)

Private Sub TextBox1_Change()
Dim L As Long, dl As Long
Dim C As Range, R As Range, T
' T = Timer 'C'est pour le chrono à enlever maintenant

Application.ScreenUpdating = 0
On améliore le rendement en n'affichant pas le update sur l'écran

Range("A12:I" & Cells(Rows.Count, 1).End(xlUp).Row + 1).Clear
il vide les précédent résultats de a12 à la dernière ligne remplie e la feuille recherche


If Len(TextBox1) < 3 Then Exit Sub
si on a moins de trois caractères dans la TextBox on Sort

L = 12 'première ligne d'écriture


With Worksheets("bd")
Avec la Feuille DB faire attention au POINTS qui suivent manitenant (.Cells)

dl = .Cells(Rows.Count, 1).End(xlUp).Row
DL = Dernière ligne de la la DB (.Cells)

PS si il n'a y a pas de POINT, Cells se réfère à la feuille active (ici Recherche, puisqu'on est dans le private Module de cette Feuille..)


For Each C In .Range(.Cells(1, 2), .Cells(dl, 9))
Pour chacune des Cellules de la 1ere Colonne(Ligne 2) à la 9ime Colonne(Ligne DL) de la Feuille DB (.Cells)


If C Like TextBox1 & "*" Then
SI C (la celulle) commence par la même chjose que la TextBox

Cells(L, 1).Resize(1, 9).Value = .Cells(C.Row, 1).Resize(1, 9).Value
Il redimentionne de 9 colonnes la Cellule Receptive Ligne L (de la feuille Recherche) pour y envoyer toutes les valeurs sur 9 colonnes de la Cellule Emetrice sur la Row (de la feuille DB)
NB Faire bien attention entre Cells et
.Cells
Cells = feuille active et .Cells = Feuille du WITH plus haut (donc DB)

If L Mod 2 = 0 Then Cells(L, 1).Resize(1, 9).Interior.Color = 15261367
avec le SI, Si... envoie les couleurs une ligne sur deux... Non j'ai pas dit Sissi impératrice :)
L = L + 1
Il incremente son L (toujours valable pour la Feuille Recherche, pour la prochaine occurrence)

End If
Ici c'est la Fin de Si ... LOL

Next
Cellule suivante (C) de la feuille DB donc ??

End With
Fin de avec la Feuille DB


MsgBox Timer - T
End Sub


Voilà avec ceci tu dois pouvoir avancer un peu, pour contiinuer ton projet.

Cordialement
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche dans cellule

Re bonsoir Cindy, le Forum Si (Si il repasse par là lol)

Hein Cindy, quioi, encore pas fini ce sbinz ! LOL

Non je t'avoue que je n'avais pas regardé avant, mais c'est quii cette feuille REPORTING ...
Je n'y comprends pas grand chose, tu as des Formules :
"=DECALER('Entrée en stock'!$C$3;1;;SI(NBVAL('Entrée en stock'!$C:$C)-1=0;1;NBVAL('Entrée en stock'!$C:$C)-1);)"

A inserrer dans du VBA ???
Là je ne sais pas trop et les deux ne font rarement bon ménage...

En plus tu parles de 300 Lignes max, et tu laisses 20 rows disponibles... Ca sent un peu le piège, un truc en cascade avec des Fils et des questions partout, des couleurs en Modulos, et des mise en page... hein dis-nous ? :)

Ce que je vois en tout cas ca n'a plus rien à voir avecr les codes du moteur de recherche, que ce soit ceux fournis pas Si ou par moi.

Si tu es plus précise avec vraiement une feuille (ou mieux TROIS Feuilles) des résultats escomptés ce serait plus facile.

Tout en rigolant,
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 822
dernier inscrit
kader55