Bonjour, il suffirait d'ajouter une colonne info pour savoir si le traitement a été effectué.
Voir exemple modifié :
Sub Alarmes()
Dim VariableDateButoire As Range
Dim NomDeLaVille As String
Dim Traitment As String
Dim reponse As Integer
For Each VariableDateButoire In ActiveSheet.Range("DateButoire")
Valeur = Cells(VariableDateButoire.Row, 1)
NomDeLaVille = ActiveSheet.Cells(VariableDateButoire.Row, 1).Offset(0, 0).Value
traitement = ActiveSheet.Cells(VariableDateButoire.Row, 1).Offset(0, 2).Value
If Date > VariableDateButoire And traitement <> "OUI" Then
reponse = MsgBox("Pour la ville de " & NomDeLaVille & " cela fait " & Date - VariableDateButoire & " jours que la date butoire a été dépassé. L'alarme a t'elle été traité ?", vbQuestion + vbYesNo, "Relance Mairie Récépissé")
Select Case reponse
Case vbYes
'alors si on relance la macro le msg d'alerte n'apparaitre plus pour cette ville meme si excel s'est fermé et réouvert, il faudrait que la macro est "apprise" que l'alarme pour cette ville a été traité
ActiveSheet.Cells(VariableDateButoire.Row, 1).Offset(0, 2).Value = "OUI"
Case vbNo
End Select
End If
Next
End Sub