Calcul durée de garantie

Rebonjour

j'ai une toute petite question je voudrais afficher un oui si la garanti de mon produit et fini et un non si y a toujours la garantie

donc ça va être si date de survenance -date de souscription > garantie alors afficher oui aussi non afficher non

mais voila les date de survenance et de souscription sont au format jj/mm/aa et la garantie en jours

voici mon code mais il me dis n importe quoi

Sub Generation()

    Dim Date_Souscription As Range
    Dim Critere_Tarifaire2 As Range
    Dim Date_Survenance As Range
    Dim DernLigne As Long
    Dim i As Integer

    With Worksheets("Feuil1")
        DernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
        Set Critere_Tarifaire2 = .Range("E2:E" & DernLigne)
        Set Date_Souscription = .Range("B2:B" & DernLigne)
        Set Date_Survenance = .Range("C2:C" & DernLigne)
    End With

    For i = 2 To DernLigne
        ' date survenance - date souscription > durée de garantie==>fini
        If Cells(i, 3).Value - Cells(i, 2) > Cells(i, 5) Then
            Sheets("Feuil2").Cells(i, 2).Value = "oui"
        Else
            Sheets("Feuil2").Cells(i, 2).Value = "non"
        End If
    Next i

End Sub
58classeur3.xlsm (21.10 Ko)

bonsoir,

pour une durée de garantie exprimée en jour en colonne E (5)

Sub Generation()
    Dim DernLigne As Long
    Dim i As Integer
    With Sheets("feuil1")
        DernLigne = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 2 To DernLigne
            ' date souscription+ durée de garantie > date de survenance
            If .Cells(i, 2) + .Cells(i, 5) > .Cells(i, 3) Then
                Sheets("Feuil2").Cells(i, 2).Value = "oui"
            Else
                Sheets("Feuil2").Cells(i, 2).Value = "non"
            End If
        Next i
    End With
End Sub

non 2 jours

voir code proposé ci-dessus

il me dis qu'il ya un pb

 If .Cells(i, 2) + DateSerial(.Cells(i, 5), 0, 0) > .Cells(i, 3) Then

voici le code que j'avais adapté suite à ta confirmation qu'il s'agissait bien d'une durée en jour

Sub Generation()
    Dim DernLigne As Long
    Dim i As Integer
    With Sheets("feuil1")
        DernLigne = .Cells(Rows.Count, 2).End(xlUp).Row
        For i = 2 To DernLigne
            ' date souscription+ durée de garantie > date de survenance
           If .Cells(i, 2) + .Cells(i, 5) > .Cells(i, 3) Then
                Sheets("Feuil2").Cells(i, 2).Value = "oui"
            Else
                Sheets("Feuil2").Cells(i, 2).Value = "non"
            End If
        Next i
    End With
End Sub

il me dit erreur de compilation : reference incorecte

 If .Cells(i, 2) + .Cells(i, 5) > .Cells(i, 3) Then

bonsoir,

le code que j'ai mis fonctionne tel quel.

montre-moi les modifications que tu y as apportées.

bonjour dslll j’étais malade ces dernier jours

j'avais changé quelque truc et je me suis rendu compte de mon erreur

merci pour ton aide ton code marche très bien

Rechercher des sujets similaires à "calcul duree garantie"