Pour ceux qui ont rencontré ce problème, la solution est ci-dessous :
Private Sub Valider_Click()
Dim Plage As Range
Dim NumFact As Long
With Worksheets("Liste Facture"): Set Plage = .Range(.Cells(1, 2), .Cells(.Rows.Count, 1).End(xlUp)): End With
NumFact = CLng(Me.NumFacture.Text)
'par contre je souhaiterai que le numéro de facture soit saisi sur la feuille "Liste Facture"
If WorksheetFunction.CountIf(Plage, NumFact) > 0 Then
MsgBox "Le numéro de facture '" & NumFact & "' existe déjà et ne peut être utilisé une seconde fois !"
Else
'si le numéro n'existe pas mais génère un "trou" dans l'incrémentation, l'indique dans le message
'mais permet toutes fois de le valider
If WorksheetFunction.Max(Plage) + 1 < NumFact Then
If MsgBox("Le numéro de facture '" & NumFact & "' ne suis pas de façon logique les autres numéros !" & _
vbCrLf & _
"Ce numéro doit-il être validé ?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
End If
Worksheets("Liste Facture").Cells(Rows.Count, 1).End(xlUp).Offset(1).Value = NumFact
End If
End Sub