Sub RelanceFactures()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim currentDate As Date
    Dim i As Long
    Dim message As String ' Variable pour stocker les messages
    Dim nonRegleCount As Long ' Variable pour compter les factures non réglées
    Dim daysRemaining As Long
  
    ' Spécifiez le nom de la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Feuil1")
    
    ' Obtenez la date d'aujourd'hui
    currentDate = Date
    
    ' Trouvez la dernière ligne de données dans la colonne A
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' Parcourez les lignes à partir de la ligne 2
    For i = 2 To lastRow
        If ws.Cells(i, "D").Value <= currentDate And IsNumeric(ws.Cells(i, "H").Value) Then
            ' Calculer les jours restants
            daysRemaining = DateDiff("d", currentDate, ws.Cells(i, "I").Value)
            ' Afficher les jours restants en colonne K
            ws.Cells(i, "K").Value = daysRemaining
            
            ' Mettre à jour la colonne J en fonction de la colonne C
            Select Case ws.Cells(i, "C").Value
                Case "FACTURE"
                    ws.Cells(i, "J").Value = "A RELANCER"
                Case "LETTREE"
                    ws.Cells(i, "J").Value = "REGLER"
                Case "A FACTURER"
                    ws.Cells(i, "J").Value = "A FACTURER"
                Case Else
                    ws.Cells(i, "J").Value = "NON TRAITE"
            End Select
            ' Mettre à jour la colonne L en fonction de la colonne J
            Select Case ws.Cells(i, "J").Value
                Case "A RELANCER", "A FACTURER"
                    ' "A RELANCER" ou "A FACTURER" en police blanche avec un remplissage en rouge
                    ws.Cells(i, "L").Value = "NON TRAITE"
                    ws.Cells(i, "L").Font.Color = RGB(255, 255, 255) ' Police blanche
                    ws.Cells(i, "L").Interior.Color = RGB(255, 0, 0) ' Fond rouge
                    ws.Cells(i, "L").Font.Bold = True ' Gras
                Case "REGLER"
                    ' "REGLER" en police noire avec un remplissage en vert
                    ws.Cells(i, "L").Value = "TRAITE"
                    ws.Cells(i, "L").Font.Color = RGB(0, 0, 0) ' Police noire
                    ws.Cells(i, "L").Interior.Color = RGB(0, 255, 0) ' Fond vert
                    ws.Cells(i, "L").Font.Bold = True ' Gras
            End Select
            ' Mettre à jour la colonne E en fonction de la colonne L
            If ws.Cells(i, "L").Value = "TRAITE" Then
                ' Afficher le mois et l'année dans la colonne E
                ws.Cells(i, "E").Value = Format(currentDate, "mmmm yyyy")
            Else
                ' Réinitialiser la colonne E si ce n'est pas "TRAITE"
                ws.Cells(i, "E").Value = ""
            End If
            ' Calculer le montant multiplié par 3 % dans la colonne G
            ws.Cells(i, "G").Value = ws.Cells(i, "B").Value * 0.03 & " €"
            ' Calculer la nouvelle date en colonne I en ajoutant la date en colonne D avec le nombre en colonne H
            ws.Cells(i, "I").Value = ws.Cells(i, "D").Value + ws.Cells(i, "H").Value
        End If
    Next i
    
    For i = 2 To lastRow
        If ws.Cells(i, "D").Value <= currentDate And IsNumeric(ws.Cells(i, "H").Value) Then
            ' Calculer les jours restants
            daysRemaining = DateDiff("d", currentDate, ws.Cells(i, "I").Value)
            ' Afficher les jours restants en colonne K
            ws.Cells(i, "K").Value = daysRemaining
            ' Ajouter les détails à la variable de message uniquement si la colonne L n'est pas "TRAITE"
            If ws.Cells(i, "L").Value <> "TRAITE" Then
                message = message & "FACTURE NON REGLEE - " & ws.Cells(i, "A").Value & vbCrLf & "Jours restants : " & daysRemaining & " jours" & vbCrLf
                nonRegleCount = nonRegleCount + 1 ' Incrémenter le compteur
            End If
        End If
    Next i
    
    
    ' Afficher toutes les informations en une seule MsgBox avec le nombre de factures non réglées dans l'en-tête
    MsgBox "Nombre de factures non réglées : " & nonRegleCount & vbCrLf & vbCrLf & message, vbCritical, "Relance"
End Sub