Lone-Wolf
je continue sur le dernier fichier envoyé
regarde la ligne set itemcmde=
pour le bouton supprimer,fait un autre code pour supprimer
si j'ai bien compris tu n'as qu'une ligne à supprimer et refaire la numéroration de A2 à X, 1 à x
Private Sub CmbCategories_Change()
Dim ItemCmde As ListItem, cel As Range, plage As Variant, i&, premaddress
On Error Resume Next
ListView1.ListItems.Clear
Set plage = WsProd.[D1].CurrentRegion
Set plage = plage.Offset(1).Resize(plage.Rows.Count - 1)
Set cel = plage.Find(Me.CmbCategories, , , xlWhole)
If Not cel Is Nothing Then
premaddress = cel.Address
Do
Set ItemCmde = ListView1.ListItems.Add(, "A" & cel.Row, Text:=cel.Offset(0, -3))'ligne à changer pour cle
ItemCmde.SubItems(1) = cel.Offset(0, -2)
ItemCmde.SubItems(2) = cel.Offset(0, -1)
ItemCmde.SubItems(3) = cel.Offset(0, 1)
ItemCmde.SubItems(4) = Format(cel.Offset(0, 3), "0.00.-")
ListView1.ColumnHeaders(2).Width = 100
ListView1.ColumnHeaders(3).Width = 184
ListView1.ColumnHeaders(4).Width = 100
Set cel = plage.FindNext(cel)
Loop While Not cel Is Nothing And cel.Address <> premaddress
End If
End Sub
Private Sub CmdSupprimer_Click()
Dim lig&, i&, j&, k&, n&, r&, x&
If cle <> "" Then
With WsProd
.Range(cle & ":H" & Mid(cle, 2)).Delete shift:=xlUp
Call ChangeCode
End With
With WsStock
derlig = .Cells(65536, 3).End(xlUp).Row
For j = derlig To 2 Step -1
If .Cells(j, 3).Value = TextBox3.Value Then
.Range("A" & k & ":M" & k).Delete shift:=xlUp
Exit For
Next j
.Range("A2") = 1
.Range("A3") = 2
.Range("A2:A3").AutoFill .Range("A2:A" & derlig - 1)
End With
' Set WsCat = WbBase.Sheets("Categories")
' WsCat.Visible = True
With WsCat
derlig = .Cells(65536, 3).End(xlUp).Row
For k = derlig To 2 Step -1
If .Cells(k, 3).Value = TextBox3.Value Then
.Range("A" & k & ":E" & k).Delete shift:=xlUp
Exit For
End If
Next k
.Range("A2") = 1
.Range("A3") = 2
.Range("A2:A3").AutoFill .Range("A2:A" & derlig - 1)
End With
' Set WsVProd = WbBase.Sheets("Ventes Produits")
' WsVProd.Visible = True
With WsVProd
lig = .Cells(65536, 2).End(xlUp).Row
For r = lig To 2 Step -1
If .Cells(r, 2).Value = TextBox3.Value Then .Cells(r, 2).EntireRow.Delete
.Cells(r, 1).Value = .Cells(r - 1, 3).Value + 1
Next r
End With
' Set WsVCat = WbBase.Sheets("Ventes Categories")
' WsVCat.Visible = True
With WsVCat
derlig = .Cells(65536, 3).End(xlUp).Row
For x = derlig To 2 Step -1
If .Cells(x, 3).Value = CodeArticle.Value Then .Cells(x, 3).EntireRow.Delete
Next x
End With
Me.ListView1.ListItems.Remove Me.ListView1.ListItems(cle): cle = ""
For n = 2 To 7
Controls("TextBox" & n) = ""
Next n
Else
MsgBox "Votre sélection,svp"
End If
End Sub