Moritus
Messages postés130Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention23 novembre 2011
-
4 avril 2007 à 01:46
Moritus
Messages postés130Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention23 novembre 2011
-
4 avril 2007 à 03:19
Bonjour,
J'ai un bout de code qui permet de chercher un code dans un fichier
excel et qui inscrit le code et ca description dans un listview.
Mon problème ce situe au niveau d'une recherche infructueuse. Si le
code rechercher n'existe pas et que l'on recherche un nouveau code, il
inscrit une ligne vide dans le listview et une ligne avec le bon code...
Je suis certain que c'est une erreur stupide mais je n'arrive pas à trouver
voici le bout de code
<hr size="2" width="100%" />
Private Sub searchlist()
Dim Ligne As ListItem
Dim xls As EXCEL.Workbook ' déclaration d'une variable objet de type classeur Excel
Dim var As String
Dim i As Integer
Dim a As Integer
Dim temp
var = "1"
Set xls = GetObject(App.Path + "\inventaire\inventaire.xls")
'instanciation de l'objet (qui devient ici le fichier excel indiqué)
Set Ligne = ListView1.ListItems.Add
' export de données
While var <> ""
If a = 0 Then
a = 1
Else
End If
var = ""
i = i + 1
var = xls.Worksheets(1).Range("A" & CStr(i)).Value
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 4 avril 2007 à 02:54
Salut
essaie en mettant Set Ligne = ListView1.ListItems.Add
après cette ligne : If temp = txtaddtolist.Text Then
(puis un rajout de Set Ligne = Nothing)
Ca donnerai donc ça :
Private Sub searchlist()
Dim Ligne As ListItem
Dim xls As EXCEL.Workbook ' déclaration d'une variable objet de type classeur Excel
Dim var As String
Dim i As Integer
Dim a As Integer
Dim temp
var = "1"
Set xls = GetObject(App.Path + "\inventaire\inventaire.xls") 'instanciation de l'objet (qui devient ici le fichier excel indiqué)
' export de données
While var <> ""
If a = 0 Then
a = 1
Else
End If
var = ""
i = i + 1
var = xls.Worksheets(1).Range("A" & CStr(i)).Value
temp = Right(var, Len(txtaddtolist.Text))
If temp = txtaddtolist.Text Then
Set Ligne = ListView1.ListItems.Add ' chgt donc ICI
searchindex = i
Ligne.Text = xls.Worksheets(1).Range("A" & CStr(i)).Value
Ligne.SubItems(1) = xls.Worksheets(1).Range("B" & CStr(i)).Value
lblListMessage.ForeColor = vbBlack
lblListMessage.Caption = "Inscription trouvé"
a = a + 1
txtaddtolist.Text = ""
txtaddtolist.SetFocus
Set Ligne = Nothing ' et ICI
Set xls = Nothing ' déplacé
Exit Sub
Else ' inutile
End If
Wend
Set Ligne = Nothing
Set xls = Nothing
lblListMessage.ForeColor = vbRed
lblListMessage.Caption = "Aucune inscription n'a été trouver."
txtaddtolist.Text = ""
txtaddtolist.SetFocus
End Sub
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>