Sub Macro1()
    Dim Tablo() As Variant
    Dim Periode As String
    Dim i As Integer
    Dim NbPaiements As Integer
    Dim rg As Range
   
    Periode = Sheets("Formulaire").Range("B12")
   
    Select Case Periode
        Case "Aucune": NbPaiements = 1
        Case "Année": NbPaiements = 5           '5 ans
        Case "Trimestre": NbPaiements = 20      '5 ans x 4 trimestres
        Case "Mois": NbPaiements = 60           '5 ans x 12 mois
    End Select
       
    ReDim Tablo(1 To NbPaiements, 1 To 10)
    With Sheets("Formulaire")
        'initialisation du tablo
        Tablo(1, 1) = .Range("B4")      'client
        Tablo(1, 2) = .Range("B6")      'produit
        Tablo(1, 3) = .Range("B8")      'montant facturé
        Tablo(1, 4) = .Range("B10")     'mois facturation
        Tablo(1, 5) = .Range("B12")     'périodicité
        Tablo(1, 6) = .Range("B14")     'statut
        Tablo(1, 7) = .Range("B16")     'montat achat sur CA HT
        Tablo(1, 8) = .Range("B18")     'mois commande achat sur CA HT
        Tablo(1, 9) = .Range("E6")     'Nb d'abt extranet
        Tablo(1, 10) = .Range("H6")     'Nb de licences
       
        If NbPaiements > 1 Then  'si plus que 1 paiement
            For i = 2 To UBound(Tablo, 1)
                Tablo(i, 1) = .Range("B4")
                Tablo(i, 2) = .Range("B6")
                Tablo(i, 3) = .Range("B8")
                Tablo(i, 4) = DateSerial(Year(Tablo(i - 1, 4)), Month(Tablo(i - 1, 4)) + 60 / NbPaiements, Day(Tablo(i - 1, 4)))
                Tablo(i, 5) = .Range("B12")
                Tablo(i, 6) = .Range("B14")
                Tablo(i, 7) = .Range("B16")
                Tablo(i, 8) = .Range("B18")
                Tablo(1, 9) = .Range("E6")
                Tablo(1, 10) = .Range("H6")
                
              Next i
        End If
    End With
       
    'Copier dans le suivi
    Set rg = Sheets("Suivi CA").Range("A65000").End(xlUp).Offset(1, 0)
    rg.Resize(NbPaiements, 8) = Tablo
End Sub