You are really depending on the ListView control. Unfortunately I don't have it.
Good luck.
You won't need it if you use snb's or my code. To replace all the ListView code, all you might need is
Private Sub cmdAdd_Click()
Dim ws As Worksheet
Dim FoundCell As Range
Dim Search As String
If Not F_complete Then
MsgBox "please Enter missing data"
Exit Sub
End If
Set ws = Worksheets("STORAGE")
eRow = ws.Cells(Rows.Count, 2).End(xlUp).Offset(2, 0).Row
Me.Reg7.SetFocus
eRow = Worksheets("STORAGE").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Search = Reg7.Text
Set FoundCell = Worksheets("STORAGE").Columns(6).Find(Search, LookIn:=xlValues, Lookat:=xlWhole)
If FoundCell Is Nothing Then
MsgBox "Numéro de facture n'existe pas sur la base de donnée! Vous pouvez continuer"
ws.Cells(eRow, 6).Value = Me.Reg7.Value
ws.Cells(eRow, 2).Value = Me.DTPicker1.Value
ws.Cells(eRow, 5).Value = Me.Reg8.Value
ws.Cells(eRow, 3).Value = Me.Reg9.Value
ws.Cells(eRow, 7).Value = Me.Reg10.Value
ws.Cells(eRow, 8).Value = Me.Reg11.Value
ws.Cells(eRow, 4).Value = Me.Reg1.Value
ws.Cells(eRow, 1).Value = Me.Reg2.Value
Else
MsgBox "N° de facture existe!" & " Données sur la plage " & FoundCell.Address & " Veuillez Refaire le N° de Facture"
End If
End With
End Sub
Private Function F_complete()
F_complete = (Reg7<> "" )*(DTPicker1<> "")*(Reg8.<> "")*(Reg9<> "")*(Reg10<> "")*(Reg11<> "")*(Reg1<> "")*(Reg2<> "")
End Function