Bonjour à toutes et tous!
voici le problème que je rencontre:
Je souhaite modifier une listview et enregistrer les modifications dans une feuille excel.
Les données modifiées sont encodées dans des textbox, puis transférée dans la listview et enfin enregistrée dans la feuil excel.
Tout se passe nickel, sauf pour la première colonne (Colonne A) Qui décale les lignes vers le haut.
Je m'explique j'ai en première ligne les intitulés du tableau qui me servent également pour les entêtes de la listview.
quand j'enregistre mes modifications tout se passe bien pour les colonnes B a M, mais pour la colonne A, il "supprime" mon entête et décale les cellules vers le haut.
voici le code utilisé (repris du site Utiliser le contrle ListView en VBA Excel)
voici le problème que je rencontre:
Je souhaite modifier une listview et enregistrer les modifications dans une feuille excel.
Les données modifiées sont encodées dans des textbox, puis transférée dans la listview et enfin enregistrée dans la feuil excel.
Tout se passe nickel, sauf pour la première colonne (Colonne A) Qui décale les lignes vers le haut.
Je m'explique j'ai en première ligne les intitulés du tableau qui me servent également pour les entêtes de la listview.
quand j'enregistre mes modifications tout se passe bien pour les colonnes B a M, mais pour la colonne A, il "supprime" mon entête et décale les cellules vers le haut.
voici le code utilisé (repris du site Utiliser le contrle ListView en VBA Excel)
Code:
Private Sub cmdValider_Click()
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected = True Then
ListView1.ListItems(i).Text = txtID
ListView1.ListItems(i).ListSubItems(2).Text = txtPRENOMAGENT
ListView1.ListItems(i).ListSubItems(1).Text = txtNOMAGENT
ListView1.ListItems(i).ListSubItems(3).Text = txtADRESSEAGENT
ListView1.ListItems(i).ListSubItems(4).Text = txtCPAGENT
ListView1.ListItems(i).ListSubItems(5).Text = txtLOCALITEAGENT
ListView1.ListItems(i).ListSubItems(6).Text = txtGSMTRAVAILAGENT
ListView1.ListItems(i).ListSubItems(7).Text = txtGSMPRIVEAGENT
ListView1.ListItems(i).ListSubItems(8).Text = txtMAILPROAGENT
ListView1.ListItems(i).ListSubItems(9).Text = txtMAILPRIVEAGENT
ListView1.ListItems(i).ListSubItems(10).Text = txtDATENAISSANCEAGENT
ListView1.ListItems(i).ListSubItems(11).Text = txtDATEENTREESERVICEAGENT
ListView1.ListItems(i).ListSubItems(12).Text = txtNUMNATAGENT
ListView1.ListItems(i).ListSubItems(13).Text = txtNUMMATAGENT
End If
Next
Dim K As Integer, j As Integer
'Boucle sur toutes les lignes
For K = 1 To ListView1.ListItems.Count
Feuil1.Cells(K, 1) = ListView1.ListItems(K).Text
'Boucle sur les colonnes
For j = 1 To ListView1.ColumnHeaders.Count - 1
Feuil1.Cells(K + 1, j + 1) = ListView1.ListItems(K).ListSubItems(j).Text
Next j
Next K
End Sub