bonjour vlad92 ,brunoM45 et le forum
voici ce que j'utilise pour remonter une ligne
Private Sub CommandButton5_Click()
'Remonter
Dim T(), A As Integer, Nb As Integer, X As Long
Dim Temp As String, B As Integer
With ListView1
For B = 1 To .ListItems.Count
If .ListItems(B).Selected = True Then
X = .SelectedItem.Index
.ListItems(B).Selected = False
If X = 1 Then
.SetFocus
.ListItems(X).Selected = True
Exit Sub
Else
X = X - 1
End If
With .ListItems(X)
Temp = .Text
.Text = ListView1.ListItems(X + 1)
ListView1.ListItems(X + 1).Text = Temp
With .ListSubItems
Nb = .Count
ReDim T(1 To Nb)
For A = 1 To Nb
T(A) = .Item(A).Text
.Item(A).Text = ListView1.ListItems(X + 1).ListSubItems(A).Text
ListView1.ListItems(X + 1).ListSubItems(A).Text = T(A)
Next
End With
End With
End If
Next
If X = 0 Then Exit Sub
.SetFocus
.ListItems(X).Selected = True
End With
End Sub
et pour redescendre
Private Sub CommandButton6_Click()
'Descendre
Dim T(), A As Integer, Nb As Integer, X As Long
Dim Temp As String, B As Integer
With ListView1
For B = 1 To .ListItems.Count
If .ListItems(B).Selected = True Then
X = .SelectedItem.Index
.ListItems(B).Selected = False
If X = .ListItems.Count Then
.SetFocus
.ListItems(X).Selected = True
Exit Sub
Else
X = X + 1
End If
With .ListItems(X)
Temp = .Text
.Text = ListView1.ListItems(X - 1)
ListView1.ListItems(X - 1).Text = Temp
With .ListSubItems
Nb = .Count
ReDim T(1 To Nb)
For A = 1 To Nb
T(A) = .Item(A).Text
.Item(A).Text = ListView1.ListItems(X - 1).ListSubItems(A).Text
ListView1.ListItems(X - 1).ListSubItems(A).Text = T(A)
Next
End With
End With
End If
Next
If X = 0 Then Exit Sub
.SetFocus
.ListItems(X).Selected = True
End With
End Sub
ce code est dans un fichier non fini de facturation donc il remonte ou descend des lignes avec un article, son prix , sa tva etc
Pascal