XL 2016 recherche dans listbox

borain

XLDnaute Nouveau
Bonjour,
j'aimerai faire des recherches dans ma listbox
donc j'ai une listbox avec 5 colonnes
outil, numéro, qté, marque et emplacement
j'ai rajouté 4 texbox au dessus pour faire des recherche sur ma listbox
textbox1 qui fait la recherche sur outil
textbox2 qui fait la recherche sur le numéro de l'outil qui est alpha-numérique
textbox3 qui fait la recherche sur la marque de l'outil
texbox4 qui fait la recherche sur emplacement de l'outil

j'aimerai que à chaque fois que j'écris un outil sur la texbox 1 dans ma listbox s'affiche juste l'outil commençant par la lettre frappé
te si je fait pareil dans mon texbox2 juste les numéro commencant par le numéro frappé
ainsi de suite

svp je vous remercie pour votre aide
j'ai besoin d'un code
je suis un peu novice en vba et je pense que c'est face à chaque difficulté qu'on apprends

cordialement,
 

patricktoulon

XLDnaute Barbatruc
re
déjà pour commencer
VB:
Private Sub RECHERCHE_Change()
    With ListBox1:
        .ListIndex = GetIndexList(ListBox1, RECHERCHE, 1, 0)
        .TopIndex = ListBox1.ListIndex
    End With
End Sub

après je suis pas sur que cela soit judicieux de remplacer les accents
on cherche une prune pas un pruneau
mais si tu y tien je peux te l'ajouter si tu veux
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Merci Patrick

Ah non, pas la peine, la demande n'est pas pour moi; c'est @borain "The Client" et le client est roi ;)

Non moi c'est juste pour pour voir et apprendre, c'est pour ceci que je viens sur XLD depuis bientôt 18 ou 19 ans (les compteurs ont été remis à zéro au 21/02/2005 lors d'une migration de forum par David.

Et puis ce mettre des petits challenges conviviaux entre contributeurs c'est ca le vrai XLD, "just for the fun" et l'esprit de création !

Pour le USF1, non c'est toute la liste box qui est réinitialisée, avec uniquement les items qui contiennent la string recherchée, ce n'est pas la même approche du tout.

Bien à toi, à vous
@+Thierry
 

patricktoulon

XLDnaute Barbatruc
tient _tierry regarde le danger d'une telle manœuvre
demo4.gif
de replacement
avec ton usf1
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Ah bien vu Partick !

Si je cherche et que je dois taper toute la référence avec les espaces adéquat ce n'est pas très convivial non plus mais c'est à cause de la base de données.... Pas de l'outil !

Capture.JPG

Il y a DEUX espaces entre le "e" et le "8" !

C'est clair que déjà il ne devrait pas y avoir un coup des MAJ, un coup des min, un coup des accents, ou pas d'accent, et en plus des espaces intempestifs !

Il ne nous simplifie pas la vie ce client LoL !!!!

Je vais voir pour un correctif... Mais perso si je cherche une référence avec du 8 mm ou du 8x9 ou autre, je ne tape que "8" et j'ai ma liste alors :

Capture.JPG


Tchuss
@+Thierry
 

patricktoulon

XLDnaute Barbatruc
re

je ne tape que "8" et j'ai ma liste alors :
oui en (xlpart) pas en (commence par)
avec ma version le dernier argument sert a ca
si je met 0 j'aurais tout les "8" ou qu'ils soient
si je met "1" j'aurais que les chaines qui commence par "8"
et avec ma version je peux même ajouter une option 3 (xlpart mais mot entier) dans la chaine

par exemple si j'ai titototti dans une ligne et titi toto titi dans une autre il me sortira la 2d et pas la 1ere

non vraiment pas bon cette histoire de replace accents ou de maj
faut laisser comme tel et la base doit être remplie correctement
car même pour ucase tu peux pas savoir si il faut replacer ou pas
donc ces deux paramètres tu peux les faire sauter de l’équation compare text veille au grain
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Patrick et ceux qui suivent encore (LoL)

Oui je suis d'accord avec toi la base doit être "propre" mais bon nous n'avons pas affaire avec une Table SQL où tout pourrait être proprement contrôlé... Just une simple feuille Excel open à tous les excès !:rolleyes:

Pour l'histoire du DoubleSpace, comme la base client est "Reine" aussi ! , on peut inserrer une verrue de plus :

VB:
With Me.ListBox1
    For i = 0 To .ListCount - 1
        MyString = Replace(.Column(0, i), "  ", " ") 'La verrue de plus !! Arf
    
        If InStr(GetNonAccent(UCase(MyString)), GetNonAccent(UCase(Me.TextBox1))) <> 0 Then
            ReDim Preserve TabSearch(0, x)
            TabSearch(0, x) = .Column(0, i)
           x = x + 1
        End If
    Next i
End With

Bon aprèm
@+Thierry
 

borain

XLDnaute Nouveau
je suis super flatter de tout ce que je vois
vous m'apportez énormément
mais comme je disais mon but c'est de monter un logiciel pour gerer exclusivement mon magasin outillage
je débute en vba et je le trouve super
depuis mon arriver ici j'ai déjà beaucoup appris merci pour votre chaleureuse contribution.
sur mon fichier j'ai un problème maintenant que la recherche est déjà assez parfaite
- imprimer le contenu de ma listbox qui jusque là fonctionnait bien
- et le chargement de mes images qui aussi fonctionnait sans problème

merci pour votre intervention
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @borain , re

Ah oui, il va falloir que tu arrives à "injecter" les codes fournis dans une copie de ton classeur d'orignie complet, et aux bons endroits, on appelle celà en programmation faire un "Merge", mais là on ne peut pas vraiment le faire pour toi.

Normalement ce qui fonctionnait avant, devrait continuer à fonctionner. Mais c'est clair que tu as du pain sur la planche, mais comme tu n'es pas boulanger, on dira des molettes sur les clés, ou des douilles à mettre sur les manches de cliquet !!!

Et donc puisque tu es le DBA (DataBase Administrator) je pense que tu as vu nos remarques pour une homogénisation de ta base si tu veux éviter tout plein de verrues dans les codes.

Bien à @toi, à vous
@+Thierry
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Ah non, pas la peine, la demande n'est pas pour moi; c'est @borain "The Client" et le client est roi ;)

Quand une personne obtient déjà des réponses dans un autre forum et ne daigne même pas donner satisfaction je la considère rarement comme roi ou reine (à moins que ce ne soit celui de Brassens). Mais quand je vois réapparaître les Stones, toujours comme Brassens, je pense à Fernande. Quel pied de te revoir Thierry !
 

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi