bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008
-
25 févr. 2006 à 17:09
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008
-
26 févr. 2006 à 18:05
Bonjour, voici le code que j'ai créé
Dim Item As ListItem
Dim rech As String
rech = Textrechercher.Text
If Textrechercher.Text = Empty Then GoTo fin
Set Item = List.FindItem(rech, lvwText, lvwPartial)
If Item Is Nothing Then
Set Item = List.FindItem(rech, lvwSubItem, lvwPartial)
If Item Is Nothing Then
MsgBox "Ce film ou ... n'existe pas"
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne.
End If
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne
End If
fin:
J'aimerais savoir, comment fait t'on pour ne pas arreter la recherche après le premier resultat concluant, pour chercher dans toute la liste sur plusieurs collonnes ?
Je possede une variable qui calcule le nombre d'occurrences(lignes).
Merci de votre aide.
Est-il possible de chercher un bout de mot, ex: tapez "long" et trouver la ligne "le long voyage" ?
A voir également:
"Besoin de vous", chercher un mot dans toute une listeview, sans arreter après l
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008 26 févr. 2006 à 14:34
Je viens de faire ceci, peut tu y jeter un coup d'oeil.
Dim Item As ListItem
Dim rech As String
Dim i As Integer
i = 1
rech = Textrechercher.Text
If Textrechercher.Text = Empty Then GoTo fin
Set Item = List.FindItem(rech, lvwText, lvwPartial)
If Item Is Nothing Then
Debut:
If i >= lblNbDivX.Caption Then GoTo fin
Set Item = List.FindItem(rech, lvwSubItem, i, lvwPartial)
If Item Is Nothing Then
MsgBox "Ce film ou ... n'existe pas"
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne.
i = Item.Index + 1
GoTo Debut
End If
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne
End If
fin:
Merci de ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008 26 févr. 2006 à 14:55
Non, c'est bon, je viens de faire ceci, est-ce bon? Merci.
Dim Item As ListItem
Dim rech As String
Dim i As Integer
i = 1
rech = Textrechercher.Text
If Textrechercher.Text = Empty Then GoTo fin
Set Item = List.FindItem(rech, lvwText, lvwPartial)
If Item Is Nothing Then
Debut:
Set Item = List.FindItem(rech, lvwSubItem, i, lvwPartial)
If Item Is Nothing Then
If i >= 2 Then GoTo fin
MsgBox "Ce film ou ... n'existe pas"
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne.
i = Item.Index + 1
If i >= lblNbDivX.Caption Then GoTo fin
GoTo Debut
End If
Else
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Item.EnsureVisible 'montre la ligne contenant le mot
Item.ForeColor = &HFF& 'montre le mot en rouge
Item.Selected = True ' Selectionne la ligne
End If
bdgta
Messages postés63Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention 8 septembre 2008 26 févr. 2006 à 18:05
Voici le code que j'ai mis grace à toi,
pour que tu es un aperçu de ce que jai fait grace à ton aide.
Encore merci.
Private Sub Rechercher_Click()
Dim Item As ListItem
Dim rech As String
Dim i, cpt As Integer
Dim n As Long
Dim k As Long
Dim j As Integer
Dim Item2 As ListItem
i = 1
cpt = 0
rech = Textrechercher.Text
If Textrechercher.Text = Empty Then GoTo fin
For i = 1 To List.ListItems.Count
Set Item = List.FindItem(rech, lvwText, i, lvwPartial)
If Item Is Nothing Then
Exit For
Else
Item.EnsureVisible
Item.ForeColor = &HFF&
Item.Selected = True
i = Item.Index
cpt = cpt + 1
End If
Next i
For i = 1 To List.ListItems.Count
Set Item = List.FindItem(rech, lvwSubItem, i, lvwPartial)
If Item Is Nothing Then
Exit For
Else
Item.EnsureVisible
' ici on sait pas dans quelle colonne
' Item.ListSubItems(???).ForeColor = vbRed
Item.ForeColor = &HFF&
Item.Selected = True
i = Item.Index
cpt = cpt + 1
End If
Next i
For k = 1 To List.ListItems.Count
Set Item2 = List.ListItems(k)
If InStr(1, Item2.Text, rech, vbTextCompare) > 0 Then
Item2.Selected = True
Item2.ForeColor = vbRed
n = n + 1
End If
For j = 1 To List.ColumnHeaders.Count - 1
If InStr(1, Item2.SubItems(j), rech, vbTextCompare) > 0 Then
Item2.Selected = True
Item2.ListSubItems(j).ForeColor = vbRed
n = n + 1
End If
Next
Next
If n > 0 Or cpt > 0 Then
MsgBox "Le film ou ... : " + rech + " a été trouvé"
Else
MsgBox "Il n'y a aucune réponse"
End If
fin:
End Sub