Bonjour

Voilà je n’arrive pas à trouver la résolution de mon code et j’espere sincèrement que vous pourrez m’aider
Merci par avance

J’ai 2 feuille sur un même classeur
-feuil1 ou on va effectuer notre macro (elle contient plusieurs contrats (allant de janvier 2013 a decembre 2020) avec plusieurs numéro police différents (qu’on retrouveras sur chaque feuille sinistre qu’on a (1 feuille sinistre =1 numéro de police)
-sinistre on a toute les information (date de souscription du contrat, date de survenance, statut technique ….)
Ceux que mon code fait : calcule le nombre de ligne après plusieurs condition
pour i parcourant la plage
si la cellule de la date de souscription est égal à janvier 2013 et si la date de survenance c'est janvier 2013 alors je compte le nombre de ligne qui respecte cette condition
si la date souscription = janv 2013 et date survenance=fev 2013==>> combien il y a de ligne qui sont comme sa
si la dsa=janv 2013 et ds = mars 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = avril 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = mai 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = juin 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = juill 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = aout 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = sep 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = oct 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = nov 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2013 et ds = dec 2013 ==>combien il ya de ligne qui sont comme sa

si la date souscription = janv 2014 et date survenance=fev 2014==>> combien il y a de ligne qui sont comme sa
si la dsa=janv 2014 et ds = mars 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = avril 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014et ds = mai 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = juin 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = juill 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = aout 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = sep 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = oct 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = nov 2013 ==>combien il ya de ligne qui sont comme sa
si la dsa=janv 2014 et ds = dec 2013 ==>combien il ya de ligne qui sont comme sa

pareil pour 2015 ; 2016 ;2017 ;2018 ;2019 ;2020

les valeurs que je trouve je veux qu’il viennent sur la feuille 1 dans la même colonne à la suite mais au bon numéro de contrat (à la bonne ligne)
Par exemple si le numéro de contrat de la feuille sinistre correspond a la ligne 97 de la feuille1 la macro s’effectue.
jusqu’ici sa marcher mais sa ce placer a la première ligne de la feuille 1 et donc ça ne correspondait pas au bon numéro de contrat

voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
 
Sub NOMBRE_DE_SINISTRES_DECLARES()
 
    Dim DernLigne As Long
    Dim nblignes(1 To 12, 2013 To 2020) As Long
    Dim i As Long
    Dim j, k As Integer
    Dim a, b, c, d, e As Integer
 
    With ActiveSheet
        DernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
    End With
 
    a = LBound(nblignes, 2)
    e = UBound(nblignes, 2)
 
    For i = 2 To DernLigne
        If a <= Year(Cells(i, 21).Value) And Year(Cells(i, 21).Value) <= e Then
            j = Month(Cells(i, 7).Value)
            k = Year(Cells(i, 7).Value)
            nblignes(j, k) = nblignes(j, k) + 1
        End If
    Next i
 
    If Sheets("TDB CT").Cells(i, 5).Value <> "OUI" Then
        For i = 1 To 12
            For k = a To e
                Sheets("Feuil1").Cells(i + 2 + (k - 2013) * 12, 4).Value = nblignes(i, k) '38
            Next k
        Next i
    End If
 
End Sub
merci de votre aide
Bonne soirée