Case à cocher listview

Résolu
cs_bargaoui Messages postés 12 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 5 mars 2010 - 1 mars 2010 à 15:12
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 - 5 mars 2010 à 17:06
Bonjour,
J'ai un List View Multi-colonne et à case à cocher,
voila la structure du list view:
**********************************
N° Réservation | Pm |......
*******************************
Je veux cocher les lignes qui ont la même valeur de la colonne " PM "ou bien un messege d'erreur et le système ne coche rien voila mon code
[CODE = vb6]
Private Sub List1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
For i = 1 To List1.ListItems.Count - 1
If l.ListSubItems.Item(i) <> l.ListSubItems.Item(i + 1) Then
MsgBox "Erreur"
End If
Next
End Sub
/CODE

Merci de m'aider

2 réponses

Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
5 mars 2010 à 17:06
voila je t'ai fait un petit exemple vue que tu nous a pas donné ton code (la prochaine fois essai de nous montré un peut plus de code lol), ajoute un control listview nomé listview1 sur ta form et met ce code:

Private Sub Form_Load()
ListView1.View = lvwReport
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
With ListView1.ColumnHeaders
.Add , , "N°"
.Add , , "PM"
.Add , , " Autre..."
End With
'on rempli la list
ListView1.ListItems.Add , , "1"
With ListView1.ListItems(1).ListSubItems
.Add , , "kikou"
.Add , , "ajoute ce que tu veut"
End With
ListView1.ListItems.Add , , "2"
With ListView1.ListItems(2).ListSubItems
.Add , , "rien"
.Add , , "ajoute ce que tu veut"
End With
ListView1.ListItems.Add , , "3"
With ListView1.ListItems(3).ListSubItems
.Add , , "salut"
.Add , , "ajoute ce que tu veut"
End With
ListView1.ListItems.Add , , "4"
With ListView1.ListItems(4).ListSubItems
.Add , , "kikou"
.Add , , "ajoute ce que tu veut"
End With
ListView1.ListItems.Add , , "5"
With ListView1.ListItems(5).ListSubItems
.Add , , "salut"
.Add , , "ajoute ce que tu veut"
End With
ListView1.ListItems.Add , , "6"
With ListView1.ListItems(6).ListSubItems
.Add , , "rien"
.Add , , "ajoute ce que tu veut"
End With
End Sub
 
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
'on parcour la liste pour voir si on a un item coché
Dim i As Long, chec As String
For i = 1 To ListView1.ListItems.Count
'ici on ignore la nouvelle case coché
If i <> Item.Index Then
'si on trouve un élément sélection on le prend le pm et on quitte la boucle
If ListView1.ListItems(i).Checked = True Then
 chec = ListView1.ListItems(i).SubItems(1)
Exit For
End If
End If
Next
 
If chec <> "" Then
'si le pm de la case a coché ne corresspend pas au pm de la case déja coché on la decoche et on affiche une alerte
If Not (ListView1.ListItems(Item.Index).SubItems(1) = chec) Then
Item.Checked = False
MsgBox "incorrect"
End If
 
Else
'si chec est vide on quitte
Exit Sub
End If
End Sub


et n'oubli pas de cliquer sur Réponse accépter comme l'autre sujet


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
3
cs_bargaoui Messages postés 12 Date d'inscription lundi 16 mars 2009 Statut Membre Dernière intervention 5 mars 2010
5 mars 2010 à 11:47
Je veux tester si deux lignes ou plus d'un listview sont identique à travers le numéro du pm qui est afficher sur le listview.
Donc je fais mon choix d'une ligne, je la coche, puis les autres lignes que je vais les cocher doivent êtres identique par le numéro du pm que jais choisi auparavant si non le système m'affiche un message d'erreur.
Merci de m'aider.
0
Rejoignez-nous