c'est simple j'ai un filelistbox qui tire exemple sur mon c:\
pis j'ai un textbox au dessus.
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple:
00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans
mon filelisbox et qu'il me le selectionne !
sa ce fait ????
merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Eric ! :O)
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple: 00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans mon filelisbox et qu'il me le selectionne ! sa ce fait ????
Lancer une recherche sur un disque complet peut prendre un certain temps.. Tu comptes réellement ça dans une arborescence aussi vaste, ou tu as nommé c: qu'en exemple ? Tu ne souhaite pas non plus (j'espère) que les résultats se mettre à jour à chaque fois que le contenu du textbox change ? Aussi la liste de fichier qui y est contenu dans le répertoire risque de changer durant le traitement ou est-elle fixe ? et combien de répertoire dois-tu "couvrir" ?
-- Cordialement Yanick MVP pour Visual Basic
Salut Eric ! :O)
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple:
00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans
mon filelisbox et qu'il me le selectionne !
sa ce fait ????
Lancer une recherche sur un disque complet peut prendre un certain temps..
Tu comptes réellement ça dans une arborescence aussi vaste, ou tu as nommé
c: qu'en exemple ? Tu ne souhaite pas non plus (j'espère) que les résultats
se mettre à jour à chaque fois que le contenu du textbox change ? Aussi la
liste de fichier qui y est contenu dans le répertoire risque de changer
durant le traitement ou est-elle fixe ? et combien de répertoire dois-tu
"couvrir" ?
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple: 00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans mon filelisbox et qu'il me le selectionne ! sa ce fait ????
Lancer une recherche sur un disque complet peut prendre un certain temps.. Tu comptes réellement ça dans une arborescence aussi vaste, ou tu as nommé c: qu'en exemple ? Tu ne souhaite pas non plus (j'espère) que les résultats se mettre à jour à chaque fois que le contenu du textbox change ? Aussi la liste de fichier qui y est contenu dans le répertoire risque de changer durant le traitement ou est-elle fixe ? et combien de répertoire dois-tu "couvrir" ?
-- Cordialement Yanick MVP pour Visual Basic
Zoury
Aah !
Regarde cet exemple : '*** ' Form1 ' 1 TextBox ' 1 FileListBox Option Explicit
Private Const LB_FINDSTRING As Long = &H18F Private Const TEST_PATH As String = "c:tmp"
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any) As Long
Private Sub Form_Unload(Cancel As Integer) Call DeleteFolder(TEST_PATH) End Sub
Private Sub Text1_Change() File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text) End Sub
Private Sub CreateTestFolder(ByVal Path As String)
If (Not FolderExists(Path)) Then Call MkDir(Path) End If
End Sub
Private Sub CreateTestFiles(ByVal Path As String)
Dim i As Long Dim hFile As Long
' créer des fichiers For i = 1 To 100 hFile = FreeFile Open Path & Format$(i, "000") & ".txt" For Binary As #hFile Close #hFile Next i
End Sub
Private Sub DeleteFolder(ByVal Path As String) Call Kill(Path & "*.*") Call RmDir(Path) End Sub
Private Function FolderExists(ByVal Path As String) As Boolean On Error Resume Next FolderExists = ((GetAttr(Path) And vbDirectory) = vbDirectory) End Function '***
-- Cordialement Yanick MVP pour Visual Basic "Eric" a écrit dans le message de news:%
le c: c'est seulement une exemple :P j'ai seulement un petit repertoire de 50 fichiers environ ! mais au lieu de scroller pour allet cherche mon numero je voudrait que en marquant les premiere lettre il descendre automatiquement dans la bout bon ... si je marque 56 et bien il descend dans mes fichier qui commence par
56
... tk si c'est trop compliquer je vais laisser tomber ! merci
Aah !
Regarde cet exemple :
'***
' Form1
' 1 TextBox
' 1 FileListBox
Option Explicit
Private Const LB_FINDSTRING As Long = &H18F
Private Const TEST_PATH As String = "c:tmp"
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByRef lParam As Any) As Long
Private Sub Form_Unload(Cancel As Integer)
Call DeleteFolder(TEST_PATH)
End Sub
Private Sub Text1_Change()
File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal
Text1.Text)
End Sub
Private Sub CreateTestFolder(ByVal Path As String)
If (Not FolderExists(Path)) Then
Call MkDir(Path)
End If
End Sub
Private Sub CreateTestFiles(ByVal Path As String)
Dim i As Long
Dim hFile As Long
' créer des fichiers
For i = 1 To 100
hFile = FreeFile
Open Path & Format$(i, "000") & ".txt" For Binary As #hFile
Close #hFile
Next i
End Sub
Private Sub DeleteFolder(ByVal Path As String)
Call Kill(Path & "*.*")
Call RmDir(Path)
End Sub
Private Function FolderExists(ByVal Path As String) As Boolean
On Error Resume Next
FolderExists = ((GetAttr(Path) And vbDirectory) = vbDirectory)
End Function
'***
--
Cordialement
Yanick
MVP pour Visual Basic
"Eric" <Eric@no-free.net> a écrit dans le message de
news:%23yoV8qraFHA.3864@TK2MSFTNGP10.phx.gbl...
le c: c'est seulement une exemple :P
j'ai seulement un petit repertoire de 50 fichiers environ !
mais au lieu de scroller pour allet cherche mon numero je voudrait que en
marquant les premiere lettre il descendre automatiquement dans la bout bon
... si je marque 56 et bien il descend dans mes fichier qui commence par
56
... tk si c'est trop compliquer je vais laisser tomber !
merci
Regarde cet exemple : '*** ' Form1 ' 1 TextBox ' 1 FileListBox Option Explicit
Private Const LB_FINDSTRING As Long = &H18F Private Const TEST_PATH As String = "c:tmp"
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any) As Long
Private Sub Form_Unload(Cancel As Integer) Call DeleteFolder(TEST_PATH) End Sub
Private Sub Text1_Change() File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text) End Sub
Private Sub CreateTestFolder(ByVal Path As String)
If (Not FolderExists(Path)) Then Call MkDir(Path) End If
End Sub
Private Sub CreateTestFiles(ByVal Path As String)
Dim i As Long Dim hFile As Long
' créer des fichiers For i = 1 To 100 hFile = FreeFile Open Path & Format$(i, "000") & ".txt" For Binary As #hFile Close #hFile Next i
End Sub
Private Sub DeleteFolder(ByVal Path As String) Call Kill(Path & "*.*") Call RmDir(Path) End Sub
Private Function FolderExists(ByVal Path As String) As Boolean On Error Resume Next FolderExists = ((GetAttr(Path) And vbDirectory) = vbDirectory) End Function '***
-- Cordialement Yanick MVP pour Visual Basic "Eric" a écrit dans le message de news:%
le c: c'est seulement une exemple :P j'ai seulement un petit repertoire de 50 fichiers environ ! mais au lieu de scroller pour allet cherche mon numero je voudrait que en marquant les premiere lettre il descendre automatiquement dans la bout bon ... si je marque 56 et bien il descend dans mes fichier qui commence par
56
... tk si c'est trop compliquer je vais laisser tomber ! merci
Jean-Marc
"Eric" a écrit dans le message de news:%
salut j'ai un petit probleme !
c'est simple j'ai un filelistbox qui tire exemple sur mon c: pis j'ai un textbox au dessus.
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple: 00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans mon filelisbox et qu'il me le selectionne ! sa ce fait ????
Coucou,
Voici qui est tout simple et fonctionne comme tu veux:
Private Sub Text1_Change() Dim i As Long
For i = 0 To File1.ListCount - 1 File1.Selected(i) = False Next i For i = 0 To File1.ListCount - 1 If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then File1.Selected(i) = True Exit For End If Next i End Sub
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"Eric" <Eric@no-free.net> a écrit dans le message de
news:%232F1nxqaFHA.4040@TK2MSFTNGP14.phx.gbl...
salut j'ai un petit probleme !
c'est simple j'ai un filelistbox qui tire exemple sur mon c:
pis j'ai un textbox au dessus.
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple:
00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans
mon filelisbox et qu'il me le selectionne !
sa ce fait ????
Coucou,
Voici qui est tout simple et fonctionne comme tu veux:
Private Sub Text1_Change()
Dim i As Long
For i = 0 To File1.ListCount - 1
File1.Selected(i) = False
Next i
For i = 0 To File1.ListCount - 1
If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then
File1.Selected(i) = True
Exit For
End If
Next i
End Sub
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
c'est simple j'ai un filelistbox qui tire exemple sur mon c: pis j'ai un textbox au dessus.
ce que je veux c'est l'orsque je tappe de quoi dans mon textbox exemple: 00000 et bien qu'il me trouve si ya un fichier qui commence par 00000 dans mon filelisbox et qu'il me le selectionne ! sa ce fait ????
Coucou,
Voici qui est tout simple et fonctionne comme tu veux:
Private Sub Text1_Change() Dim i As Long
For i = 0 To File1.ListCount - 1 File1.Selected(i) = False Next i For i = 0 To File1.ListCount - 1 If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then File1.Selected(i) = True Exit For End If Next i End Sub
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Zoury
Salut ! :O)
Marc à dit :
Voici qui est tout simple
et ça ? c'est pas simple ça ? ;O) '*** File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text) '***
Mais plus sérieusement, si tu décides d'employer la méthode longue, remplace cette boucle : '***
For i = 0 To File1.ListCount - 1 File1.Selected(i) = False Next i
'***
par ceci : '*** File1.SelectedIndex = -1 '*** qui désélectionne tout les éléments d'un liste (listbox, combobox, filelistbox, ..)
-- Cordialement Yanick MVP pour Visual Basic
Salut ! :O)
Marc à dit :
Voici qui est tout simple
et ça ? c'est pas simple ça ? ;O)
'***
File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal
Text1.Text)
'***
Mais plus sérieusement, si tu décides d'employer la méthode longue, remplace
cette boucle :
'***
For i = 0 To File1.ListCount - 1
File1.Selected(i) = False
Next i
'***
par ceci :
'***
File1.SelectedIndex = -1
'***
qui désélectionne tout les éléments d'un liste (listbox, combobox,
filelistbox, ..)
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:
Salut ! :O)
Marc à dit : > Voici qui est tout simple
et ça ? c'est pas simple ça ? ;O) '*** File1.ListIndex = SendMessage(File1.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text) '***
Oui mais je n'aime pas trop SendMessage ...
Mais plus sérieusement, si tu décides d'employer la méthode longue,
remplace
cette boucle : '*** > For i = 0 To File1.ListCount - 1 > File1.Selected(i) = False > Next i '***
par ceci : '*** File1.SelectedIndex = -1 '*** qui désélectionne tout les éléments d'un liste (listbox, combobox, filelistbox, ..)
Ca, c'est une excellente info. Je ne connaissais pas. Merci :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Zoury
humm j'ai écrit une connerie hier.. c'est ListIndex qu'il faut mettre à -1. SelectedIndex n'existe pas.. :OD
mais ya un probleme c'est si je marque 1234 et que mon nom de fichier
c'est
123 et bien il me selectionne le premier de la list ! :( mais si je garde l'ancien et bien il me deselectionne tout
Quel son les noms de fichiers contenu dans la liste ? ici, j'obtiens le même résultat avec les deux techniques..
Aussi, tu peux rajouter un test si Text1.Text est vide (suposons que l'utilisateur efface sa recherche) afin de ne pas sélectionner le premier item par défaut : '*** Private Sub Text1_Change()
Dim i As Long
File1.ListIndex = -1 If (LenB(Text1.Text) > 0) Then
For i = 0 To File1.ListCount - 1 If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then File1.Selected(i) = True Exit For End If Next i
End If
End Sub '***
-- Cordialement Yanick MVP pour Visual Basic
humm j'ai écrit une connerie hier.. c'est ListIndex qu'il faut mettre à -1.
SelectedIndex n'existe pas.. :OD
mais ya un probleme c'est si je marque 1234 et que mon nom de fichier
c'est
123 et bien il me selectionne le premier de la list ! :(
mais si je garde l'ancien et bien il me deselectionne tout
Quel son les noms de fichiers contenu dans la liste ? ici, j'obtiens le même
résultat avec les deux techniques..
Aussi, tu peux rajouter un test si Text1.Text est vide (suposons que
l'utilisateur efface sa recherche) afin de ne pas sélectionner le premier
item par défaut :
'***
Private Sub Text1_Change()
Dim i As Long
File1.ListIndex = -1
If (LenB(Text1.Text) > 0) Then
For i = 0 To File1.ListCount - 1
If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then
File1.Selected(i) = True
Exit For
End If
Next i
humm j'ai écrit une connerie hier.. c'est ListIndex qu'il faut mettre à -1. SelectedIndex n'existe pas.. :OD
mais ya un probleme c'est si je marque 1234 et que mon nom de fichier
c'est
123 et bien il me selectionne le premier de la list ! :( mais si je garde l'ancien et bien il me deselectionne tout
Quel son les noms de fichiers contenu dans la liste ? ici, j'obtiens le même résultat avec les deux techniques..
Aussi, tu peux rajouter un test si Text1.Text est vide (suposons que l'utilisateur efface sa recherche) afin de ne pas sélectionner le premier item par défaut : '*** Private Sub Text1_Change()
Dim i As Long
File1.ListIndex = -1 If (LenB(Text1.Text) > 0) Then
For i = 0 To File1.ListCount - 1 If UCase$(Mid$(File1.List(i), 1, Len(Text1.Text))) UCase$(Text1.Text) Then File1.Selected(i) = True Exit For End If Next i