Bonjour Thunder, bonjour le forum,
je pense que ton problème viens plutôt du format des cellules de la colonne qui reçoit les dates. Une TextBox renvoie toujours une valeur de type String (Chaine de caractères). Mais Excel reconnait certaines chaînes et leur applique un format automatiquement sans te demander ton avis. C'est souvent très pratique mais quelquefois très ch***t. Pour éviter ce genre de déconvenue et aussi l'inversion jour/mois, je renvoie dans la cellule un entier long qui représente une date et je formate la colonne au format que je souhaite. De cette façon, je n'ai plus de problème...
Dans ton cas, sélectionne la colonne des date dans le tableau Excel et définis le format date : *14/13/2001
ensuite modifie ton code :
'Pour le bouton modifier
Private Sub CommandButton_modifier_click()
Dim ligne As Long
Dim I As Integer
Dim DS As String 'déclare la variable DS (Date en String)
Dim DL As Long 'déclare la variable DL (Date en entier Long)
If MsgBox("Confirmer la modification de cet article ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox_code.ListIndex = -1 Then Exit Sub
ligne = Me.ComboBox_code.ListIndex + 2
Ws.Cells(ligne, "B") = ComboBox_categorie
For I = 1 To 39
If Me.Controls("Textbox" & I).Visible = True Then
DS = Me.Controls("TextBox" & I).Value 'définit la date DS
DL = CLng(DateSerial(Year(DS), Month(DS), Day(DS))) 'définit la date DL
Ws.Cells(ligne, I + 2) = DL
End If
Next I
End If
End Sub