VBA problème DateDiff dans formulaire

Fermé
doom56530 Messages postés 10 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 12 décembre 2012 - 5 févr. 2010 à 12:32
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 5 févr. 2010 à 15:45
Bonjour,

J'utilise DateDiff pour calculer le nombre de jour entre deux dates dans un formulaire. Cela fonctionne quand je fait en sorte que ça ne fonctionne que sur une ligne :
(A1 : date 1, la +ancienne;B1 : date 2, la + récente; C1 : nombre de jour en la date 1 et la date 2)

Private Sub CommandButton1_Click()
Range("A1").Value = TextBox1.Value
Range("B1").Value = TextBox2.Value
Range("C1").Value = DateDiff("d", Range("A1"), Range("B1"))
End Sub

Est-ce que quelqu'un pourrait m'indiquer comment faire pour que la valeur de la colonne C se calcule dans la même ligne quand je rajoute les 2 dates? J'ai essayé le code qui suit mais cela ne fonctionne pas. Ca me met un 0 dans la case nombre de jour (C2) et me rempli correctement les cases A2 et B2.

Private Sub CommandButton1_Click()
Dim i As Integer

Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox1.Value
Range("B65536").End(xlUp).Offset(1, 0).Value = TextBox2.Value

For i = 1 To 1


Range("C65536").End(xlUp).Offset(1, 0).Value = DateDiff("d", Range("A" & i), Range("B" & i))

Next i
End Sub

1 réponse

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 févr. 2010 à 15:45
Bonjour,
essaye plutôt..
Private Sub CommandButton1_Click()
Dim Lig As Long
    Lig = Range("A65536").End(xlUp).Row + 1
    Cells(Lig, 1) = TextBox1
    Cells(Lig, 2) = TextBox2
    Cells(Lig, 3) = DateDiff("d", TextBox1, TextBox2)
End Sub

A+
0