Nombre jours entre 2 dates (Format de date VBA: Now() )

fifou

XLDnaute Nouveau
Bonjour à tous,

L'idée de ma boucle est de connaitre le nombre de jours entre 2 dates.
J'ai un petit soucis avec cette boucle, et un message d'erreur (message d'erreur : erreur d'exécution 13
incompatibilité de type) bloque au niveau de la ligne now(). Je pense que le problème vient du format de Now(), mais je ne trouve pas la solution :/.

Si quelqu'un à une idée ça serait super!

Code:
For i = ActiveCell.Row To 5 Step -1

If IsDate(Cells(i, 6)) Then
Cells(i, 19).Value = Now() - Cells(i, 6).Value
ElseIf IsEmpty(Cells(i, 6)) Then Cells(i, 19) = ""

End If

Next

A+
 

jp14

XLDnaute Barbatruc
Re : Nombre jours entre 2 dates (Format de date VBA: Now() )

Bonjour

Le code suivant permet de calculer le nombre de jours entre deux dates.
Code:
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
Il faut lire la documentation pour bien configurer la fonction.


JP
 

Paf

XLDnaute Barbatruc
Re : Nombre jours entre 2 dates (Format de date VBA: Now() )

Bonjour fifou, jp14

a priori la date en colonne F n'est pas une date mais du texte, même si IsDate(...) renvoie True.

Essayer en 'forçant' avec CDate()
Code:
Cells(i, 19).Value = Now() - CDate(Cells(i, 6).Value)

A+
 

JCGL

XLDnaute Barbatruc
Re : Nombre jours entre 2 dates (Format de date VBA: Now() )

Bonjour à tous,

Essaye avec Now sans les ()

A+ à tous

Edition : Avec les dates en A2 et suivantes

VB:
Sub Essai()
    Dim DerL&
    DerL = Range("A65000").End(xlUp).Row
    Range("B2:C" & DerL).ClearContents
    For i = 1 To DerL
        If IsDate(Cells(i, 1)) Then
            Cells(i, 2) = Int(Date - Cells(i, 1))
            Cells(i, 3) = Int(DateDiff("d", Cells(i, 1), Date, 2, 2))
        Else
            Cells(i, 2) = ""
        End If
    Next
End Sub

Hello mon Pierre
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 325
Membres
103 179
dernier inscrit
BERSEB50