Sub reductionFillon()
Dim salaireAnnuelBrut As Double
Dim nbreHeuresAnnuel As Double
Dim smicHoraireBrut As Double
Dim coefficientMax As Double
Dim effectif As Integer
Dim coefficientAppl As Double
Dim coefficientRetenu As Double
Dim reductionFillon As Double
Dim i As Integer

' Demande à l'utilisateur les informations nécessaires
Do While True
    Dim nomSalarié As String
    nomSalarié = InputBox("Entrez le nom du salarié (ou tapez STOP pour arrêter) :")
    
    If nomSalarié = "STOP" Then
        Exit Do
    End If
    
    effectif = InputBox("Entrez l'effectif de l'entreprise :")
    salaireAnnuelBrut = InputBox("Entrez le salaire annuel brut :")
    nbreHeuresAnnuel = InputBox("Entrez le nombre d'heures annuel :")
    smicHoraireBrut = 11.27
    
    ' Détermine le coefficient maximal en fonction de l'effectif
    If effectif < 50 Then
        coefficientMax = 0.3191
    Else
        coefficientMax = 0.3231
    End If
    
    ' Calcule le coefficient applicable et le coefficient retenu
    coefficientAppl = Round((coefficientMax / 0.6) * ((1.6 * smicHoraireBrut * nbreHeuresAnnuel) / salaireAnnuelBrut - 1), 4)
    
    If coefficientAppl < 0 Then
        coefficientRetenu = 0
    ElseIf coefficientAppl > coefficientMax Then
        coefficientRetenu = coefficientMax
    Else
        coefficientRetenu = coefficientAppl
    End If
    
    If coefficientAppl < 0 Then
        reductionFillon = 0
    Else
        reductionFillon = Round(coefficientRetenu * salaireAnnuelBrut, 2)
    End If
    
    ' Affiche le résultat
    MsgBox "Le montant de la Réduction Fillon est de " & reductionFillon & " euros."
    
    ' Construit la table avec les détails
    Range("A1:G1") = Array("Effectif entreprise", "Nom", "Salaire annuel brut", "Nbre heures annuel", "Coefficient", "Coefficient retenu", "Réduction Fillon")
    Range("A2").Select
    i = 2
    Do While ActiveCell.Value <> ""
        i = i + 1
        ActiveCell.Offset(1, 0).Select
    Loop
    ActiveCell.Value = effectif
    ActiveCell.Offset(0, 1).Value = nomSalarié
    ActiveCell.Offset(0, 2).Value = salaireAnnuelBrut
    ActiveCell.Offset(0, 3).Value = nbreHeuresAnnuel
    ActiveCell.Offset(0, 4).Value = coefficientAppl
    ActiveCell.Offset(0, 5).Value = coefficientRetenu
    ActiveCell.Offset(0, 6).Value = reductionFillon
Loop

' Ajuste la taille des colonnes en automatique
Cells.EntireColumn.AutoFit

End Sub