1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| 'SAUVEGARDE'
Private Sub CommandButton2_Click()
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
' Modifier dans la listview
Dim I As Integer
Dim J As Integer
I = Me.TextBox10
Me.ListView1.ListItems(I).Text = Me.TextBox1
For J = 1 To Me.ListView1.ColumnHeaders.Count - 1
Me.ListView1.ListItems(I).ListSubItems(J).Text = Me.Controls("Textbox" & J + 1)
Next J
' Sauvegarder
Dim Lg As Long
Dim Ws As Worksheet
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Set Ws = Sheets("Liste")
Lg = Me.ComboBox1.Column(1)
Application.ScreenUpdating = False
With Me.ListView1
For I = 1 To .ListItems.Count
Ws.Cells(Lg, "B") = .ListItems(I)
Ws.Cells(Lg, "C") = .ListItems(I).ListSubItems(1)
Ws.Cells(Lg, "D") = .ListItems(I).ListSubItems(2)
Ws.Cells(Lg, "E") = .ListItems(I).ListSubItems(3)
Ws.Cells(Lg, "F") = .ListItems(I).ListSubItems(4)
Ws.Cells(Lg, "G") = .ListItems(I).ListSubItems(5)
Ws.Cells(Lg, "H") = .ListItems(I).ListSubItems(6)
Ws.Cells(Lg, "I") = .ListItems(I).ListSubItems(7)
Ws.Cells(Lg, "J") = .ListItems(I).ListSubItems(8)
Lg = Lg + 1
Next I
End With
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim I As Integer
Dim J As Integer
I = Me.ListView1.SelectedItem.Index
Me.TextBox1 = Me.ListView1.ListItems(I).Text
For J = 1 To Me.ListView1.ColumnHeaders.Count - 1
Me.Controls("Textbox" & J + 1) = ListView1.ListItems(I).ListSubItems(J).Text
Next J
Me.TextBox10 = I ' Sauvegarde de la ligne sélectionnée
End Sub
Private Sub UserForm_Initialize()
Dim Lg As Long
Dim Ws As Worksheet
Dim J As Long
Set Ws = Sheets("Liste")
With Me.ListView1
'Titres des colonnes
With .ColumnHeaders
.Clear
'Ajout des colonnes
.Add , , "Code", 25, lvwColumnLeft
.Add , , "Noms", 155, lvwColumnCenter
.Add , , "Kg", 60, lvwColumnCenter
.Add , , "PU", 40, lvwColumnCenter
.Add , , "Condit.", 50, lvwColumnCenter
.Add , , "Nombre", 50, lvwColumnCenter
.Add , , "Nombre TT", 32, lvwColumnCenter
.Add , , "Lieu Dest.", 32, lvwColumnCenter
.Add , , "Total envoi", 32, lvwColumnCenter
End With
.View = lvwReport
.Gridlines = True
.FullRowSelect = True
.LabelEdit = lvwManual
End With
Me.TextBox10.Visible = False
Me.TextBox10 = ""
Init = True
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "-1;0"
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.Value = Ws.Range("A" & J)
If .ListIndex = -1 Then
.AddItem Ws.Range("A" & J)
.List(.ListCount - 1, 1) = J
End If
Next J
.ListIndex = -1
Init = False
.Value = ActiveCell
End With
'SpinButton1.Max = Application.CountA
End Sub |
Partager