Sub Macro1()
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim msg As String 'déclare la variable msg (MeSsaGe)
Dim msg1 As String 'déclare la variable msg1 (MeSsaGe 1)
Set pl = Range("B9:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row) 'définit la plage pl (cellules éditées de la colonne B en commençant à la ligne 9)
MsgBox Application.WorksheetFunction.CountA(pl), vbOKOnly, "Total Commandes" 'message affichant le total des commandes
Set pl = pl.Offset(0, 2) 'redéfinit la plage pl (colonne D)
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
'condition : si la date est inférieure à la date d'édition et si la cellule de la colonne H est positive
If cel.Value < Range("F1").Value And cel.Offset(0, 4).Value > 0 Then
Range(Cells(cel.Row, 1), Cells(cel.Row, 15)).Interior.ColorIndex = 3 'colore la ligne de rouge
msg = msg & cel.Offset(0, 7).Value & " / " & cel.Offset(0, -2).Value & Chr(10) 'définit la variable msg (le texte du message)
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
If msg <> "" Then MsgBox msg, vbOKOnly, "Commandes en retard" 'si le texte du message n'est pas vide, affiche le message des commandes en retard
pl.EntireRow.Interior.ColorIndex = xlNone 'enlève les couleurs
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
'condition : si la différence date-date d'édition est positive et inférieure ou égale à 8
If cel.Value - Range("F1").Value > 0 And cel.Value - Range("F1").Value <= 8 Then
Range(Cells(cel.Row, 1), Cells(cel.Row, 15)).Interior.ColorIndex = 4 'colore la ligne en vert
msg1 = msg1 & cel.Offset(0, 7).Value & " / " & cel.Offset(0, -2).Value & Chr(10) 'définit la variable msg1 (le texte du message)
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
If msg1 <> "" Then MsgBox msg1, vbOKOnly, "Commandes livrées sous 8 jours" 'si le texte du message n'est pas vide, affiche le message des commandes livrées sous 8 jours
pl.EntireRow.Interior.ColorIndex = xlNone 'enlève les couleurs
End Sub