Le problème vient de cette macro:
Private Sub SpinButton1_Change()
Dim x As Long
If SpinButton1 = dL + 1 Then
Message = "Nouvel Enregistrement"
DateJour = 1
Else
Message = "Enregistrement N° " & SpinButton1 - 5
End If
x = SpinButton1.Value
With Sheets("Feuil3")
EntréeSortie = .Cells(x, 1)
DateJour = .Cells(x, 2)
DésignationArticle = .Cells(x, 3)
If .Cells(x, 4) <> "" Then Quantité = Abs(.Cells(x, 4)) Else Quantité = ""
End With
End Sub
tu testes si c'est un nouvel enregistrement mais ensuite tu lui donne la valeur de
.Cells(x, 2)
tu devrais plutot faire
Private Sub B_Effacer_Click()
NouvelleFiche
End Sub
Private Sub NouvelleFiche()
DateJour.Value = Date
DésignationArticle.Value = ""
Quantité.Value = ""
EntréeSortie.Value = ""
End Sub
Private Sub SpinButton1_Change()
Dim x As Long
If SpinButton1 = dL + 1 Then
Message = "Nouvel Enregistrement"
NouvelleFiche
Else
Message = "Enregistrement N° " & SpinButton1 - 5
x = SpinButton1.Value
With Sheets("Feuil3")
EntréeSortie = .Cells(x, 1)
DateJour = .Cells(x, 2)
DésignationArticle = .Cells(x, 3)
If .Cells(x, 4) <> "" Then Quantité = Abs(.Cells(x, 4)) Else Quantité = ""
End With
End If
Quand c'est un nouvel enregistrement, la procedure efface fiche "Clean" la fiche et affiche la date du jour, sinon on affiche les valeurs de la feuille 3