Listview vers MSFLEXGRID

trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010 - 24 sept. 2010 à 09:43
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010 - 24 sept. 2010 à 09:54
Bonjour à tous
SVP j'essaye d'alimenter un MSFLEXGRID nommé qte à partir d'un listview nommé depot.En fait j'utilise un listview à deux colonnes.J'aimerai qu'au itemCheck de dépot il recupére les produits appartenant à une famille(cette informatin je la recupere à partir d'un datacombo fproduit,requeteselect1) de produit et avec le nom du dépôt qu'il renseigne dans le msflexgrid qte.A titre d'exemple,la premire colonne de mon MSFLEXGRID doit se présenter ainsi:
Dépôt1
Produit1
Produit2
Produit3
Dépôt2
Produit1
Produit2
Produit3
...
J'aimerai que les dépôts soit coloré en rouge par exemple.Seulement je n'y arrive pas vraimentVoici le code que j'ai écrit il ne fonctionne pas comme je veux.J'y suis bloqué.SVP plaît j'ai besoin d'aide.
MERCI

Private Sub depot_ItemCheck(ByVal Item As MSComctlLib.ListItem)
i = depot.ListItems.Count
j = 1
k = 1
h = depot.ListItems.Count 
If Me.marketer.Text <> "" And Me.mois.Text <> "" And Me.annee.Text <> "" And & _ Me.fproduit.Text <> "" Then
              With depot
                  While (i > 0)
                    If .ListItems.Item(i).Checked = True Then      'si un element i est coché
                        .ListItems(i).Selected = True              'je selectionne la ligne correspondante effet visuel
                           Do While Me.qte.TextMatrix(j, 0) <> "" 'Parcoure les cellules du MSFLEXGRID quand il tombe sur une case vide il s'arrete
                           j = j + 1
                           Loop
                           Call Connection_SGBD   'connection à la base ACCESS
                           Call requeteselect1("SELECT produit.nom_produit " & _
                                                 " FROM produit,famille_de_produit " & _
                                          "WHERE produit.nom_famille=famille_de_produit" AND " & _ "famille_de_produit.nom_famille = '" & Me.fproduit.BoundText & "'")
                        If rs1.RecordCount <> 0 Then
                               'alimenter le tableau MSHflexgrid
                             If j = 1 Then
                                    If j <= Me.qte.Rows - 1 Then
                                       Me.qte.TextMatrix(j, 0) = depot.ListItems.Item(i).ListSubItems(1).Text
                                       Me.qte.Row = j
                                       Me.qte.Col = 0
                                       Me.qte.CellForeColor = vbRed
                                       Do While rs1.EOF = False
                                            Me.qte.TextMatrix(j + 1, 0) = rs1.Fields(0)
                                            rs1.MoveNext
                                          j = j + 1
                                        Loop
                                    End If
                             Else
                                    If j <= Me.qte.Rows - 1 Then
                                       Me.qte.TextMatrix(j, 0) = depot.ListItems.Item(i).ListSubItems(1).Text
                                       Me.qte.Row = j
                                       Me.qte.Col = 0
                                       Me.qte.CellForeColor = vbRed
                                       Do While rs1.EOF = False
                                            Me.qte.TextMatrix(j + 1, 0) = rs1.Fields(0)
                                            rs1.MoveNext
                                          j = j + 1
                                        Loop
                                    End If

                           End If
                        End If
                        If rs1.RecordCount = 0 Then
                                 MsgBox "Enregistrer d'abord les produits appartenent à cette famille", vbOKOnly + vbCritical, "MANQUE D'INFORMATION"
                                .ListItems.Item(i).Checked = False
                                .ListItems.Item(i).Selected = False
                        End If
                   End If
             '*******************************************************************************************************************************************
                   If .ListItems.Item(i).Checked = False Then
                       .ListItems.Item(i).Selected = False
                         While k <= Me.qte.Rows - 1
                              With Me.qte
                                  .TextMatrix(k, 0) = ""
                              End With
                              k = k + 1
                         Wend
                   End If
            '********************************************************************************************************************************************
                  i = i - 1
                  Wend
              End With
'**********************************************************************************************************************************************
Else
   '***********************************************************
    MsgBox "Choisir d'abord le Marketer, le Mois ,l'Année et la Famille de produit avant de cocher", vbOKOnly + vbCritical, "MANQUE D'INFORMATION"
    While (h > 0)
        depot.ListItems.Item(h).Checked = False
        depot.ListItems(h).Selected = False
        h = h - 1
    Wend
    '*********************************************************
End If
End Sub

1 réponse

trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010
24 sept. 2010 à 09:54
SVP quand je coche le dernier item du listview il efface tout.Vraiment je n'y comprend rien.
0