Mission modification de script ... (passage d'une listbox, à une listview)

Résolu
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 28 août 2007 à 14:12
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 28 août 2007 à 16:22
Salut, bah voilà j'ai besoin d'aide, j'était a la recherche de la réponse a ma question qui était, comment identifié par couleur, différent evenement placer dans une listbox ? là la réponse fut, pour changer la couleur d'une ligne il faut une listview, Ok !!


Donc j'ai placé ma listview problème rien n'est comme avec la listbox et j'avoue avoir un grand mal a trouver comment refaire mon script ... alors pouriez vous m'aidez un peu  ... voici un ptit bout d'mon code, le script ci-dessous et celui utilisant la listbox, suivi de celui qui me fait galérer ... j'ai moult erreur car je ne sais plus comment mis prendre pour remètre en forme via listview                       

avec listbox:



Public Function AddEvent(Description As String, Categorie As Integer)

'recupere le numero du prochain evenement
If (FrmFond.LstEvent.ListCount <> 0) Then
    NumEvent = Left(FrmFond.LstEvent.List(FrmFond.LstEvent.ListIndex), 3)
End If
'incremente le nuemro du prochain
NumEvent = NumEvent + 1

'construction de l'evenement
Even = Format$(NumEvent, "000") & "     " & Now & "     " _
  & Description

'inscriptin de l'evenement
FrmFond.LstEvent.AddItem Even

'selection du dernier element dans la listbox
FrmFond.LstEvent.ListIndex = (FrmFond.LstEvent.ListCount) - 1

'selection de la couleur en fonction de la categorie de l'evenement
Select Case Categorie
    Case -1
        FrmFond.LstEvent.ForeColor = &HFF&
    Case 0
        FrmFond.LstEvent.ForeColor = &H80000008
    Case 1
        FrmFond.LstEvent.ForeColor = &HFF0000

End Select

'suppresion d'un element a partir de Max_Event_list
If (FrmFond.LstEvent.ListCount) - 1 = Max_Event_list Then
    FrmFond.LstEvent.RemoveItem (0)
End If

End Function,

----

(Coloration syntaxique automatique par Kenji)




avec listview:





Public Function AddEvent(Description As String, Categorie As Integer)

'recupere le numero du prochain evenement
If (FrmFond.LstVEvent.ListItems <> 0) Then
    NumEvent = Left(FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index), 3)
End If

'incremente le nuemro du prochain
NumEvent = NumEvent + 1

'construction de l'evenement
Even = Format$(NumEvent, "000") & "     " & Now & "     " _
  & Description

'inscriptin de l'evenement
FrmFond.LstVEvent.ListItems.Add = (Even)

'selection du dernier element dans la listbox
FrmFond.LstVEvent.index = _
  (FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index)) - 1

'selection de la couleur en fonction de la categorie de l'evenement
Select Case Categorie
    Case -1
        FrmFond.LstVEvent.ForeColor = &HFF&
    Case 0
        FrmFond.LstVEvent.ForeColor = &H80000008
    Case 1
        FrmFond.LstVEvent.ForeColor = &HFF0000
End Select

'suppresion d'un element a partir de Max_Event_list
If (FrmFond.LstVEvent.ListItems) - 1 = Max_Event_list Then
    FrmFond.LstVEvent.ListItems.Remove (0)
End If

End Function,

----

(Coloration syntaxique automatique par Kenji)


 MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe

7 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
28 août 2007 à 14:27
Salut,


Si ton problème se situe au niveau du changement de coukeur d' une ligne :
 
>  FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index).ForeColor = &HFF&


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />




 
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
28 août 2007 à 14:44
dans  FrmFond.LstVEvent.ListItems (?) il manque le numéro de la ligne
 
 
>FrmFond.LstVEvent.ListItems (FrmFond.LstVEvent.index)

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
3
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
28 août 2007 à 14:35
mrc!!
j'ai tjs un prob même plusieur ...

If (FrmFond.LstVEvent.ListItems 
<> 0) Then
    NumEvent = Left(FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index), 3)
End If

 il me dit
Erreur de compilation :
   cette argument n'est pas facultatif

que'est ce je doit en déduire ??

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
28 août 2007 à 14:46
dans  If (FrmFond.LstVEvent.ListItems(?) 
<> 0) bien sûr

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
28 août 2007 à 14:48
If

 (FrmFond.LstVEvent

.ListItems(FrmFond.LstVEvent.index)


 





<>
 
0

Then


    NumEvent 
=
 Left(FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index), 
3





)

End
 
If





et maintenant il me dit !!

erreur d'execution '343':
Cet objet n'est pas un tableau

que faire !!

de plus j'ai tester en suprimant ce morco de script, et j'ai constaté que les info que je place dans ma listview, ne son pas sous forme de list, mais sous espèce de ptit fichier ... comme si c'était des images ... :-/

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009
28 août 2007 à 14:49
wé j'ai remarqué j'ai changer ca just après mais ca marche tjs po

MerZi ... Zi ... Zi ... PtitCat  
P.S:DSL pour l'orthographe
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
28 août 2007 à 16:22
Bon , on reprend depuis le début ...


'construction de l'evenement
Even = Format$(NumEvent, "000") & "     " & Now & "     " _
  & Description


'inscriptin de l'evenement,
> OU ? SUR QUELLE LIGNE ?
>incrémente le nombre de lignes de ta listeview de 1
NouvelleLigne=FrmFond.LstVEvent.ListCount + 1



FrmFond.LstVEvent.ListItems.Add NouvelleLigne, , Even     'RESPECTES BIEN LA SYNTHAXE


Par la suite ta ligne sera référencée par FrmFond.LstVEvent.ListItems(NouvelleLigne)
au lieu de FrmFond.LstVEvent.ListItems(FrmFond.LstVEvent.index)


Pour récupèrer le contenu
> de la 1° colonne :sur une ligne X
NumEvent  =Left(FrmFond.LstVEvent.ListItems(X).Text, 3)

>Si le contenu est sur une autre colonne , la troixième par exemple





NumEvent =Left(FrmFond.LstVEvent.ListItems(X).ListSubItems(2).Text, 3

)
Mais dans ce cas il faut que ta listview soit de type Report





<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
Rejoignez-nous