Msgbox en fonction d'une variable de temps

Bonjour

Je débute le VBA et j'ai une demande spécifique dans le cadre du suivi d'une flotte de véhicule.

J'ai un fichier en PJ avec l'administratif des véhicules de la société que je pilote et pour lequel je souhaiterai automatiser le suivi de la fin des leasing.

Dans le 1er onglet j'ai une colonne qui indique la fin théorique des véhicules. J'ai ajouté un Msgbox mais en "dur" et je souhaiterai le rendre variable et automatique en fonction de la date inscrite dans la colonne "H".

Je souhaiterai qu'un pop up apparaisse automatiquement indiquant "Fin de contrat XX-XX-XX le DD-MM-YYYY" avec la variable de 300j avant la fin.

Pouvez-vous m'aider à écrire la bonne requête VBA svp

Merci à vous

Bonjour,

Je souhaiterai qu'un pop up apparaisse automatiquement indiquant "Fin de contrat XX-XX-XX le DD-MM-YYYY" avec la variable de 300j avant la fin.

Comment désires tu faire apparaître ton pop up, en cliquant sur la date concernée, ou autre ?
Et où sont notées les immatriculations, je ne trouve pas
A+

Bonjour Merci pour ton retour.

J'ai anonymisé le fichier en retirant les plaques d'immatriculation. Elles normalement en colonne D.

J'aimerais que le pop up puisse s'ouvrir à l'ouverture du fichier. Ainsi la direction aurait une alerte immédiate sur les véhicule à renouveler.

Merci

Bonjour,

Ci-joint une proposition faisaint appel à la macro ci-après :

Sub AfficherEcheances()
  Dim listEcheances As Range
  With ThisWorkbook.Worksheets("En cours Sté").Range("H3")
    Set listEcheances = Range(.Cells, .End(xlDown))
  End With
  Dim listImat As Range
  Set listImat = listEcheances.Offset(0, -4)

  Dim i As Long, imatFlags As Object
  Set imatFlags = CreateObject("System.Collections.ArrayList")
  For i = 1 To listEcheances.Count
    If IsNumeric(listEcheances(i).Value2) Then
      If listEcheances(i).Value2 - Date <= 300 Then
        imatFlags.Add Array( _
          listImat(i).Value2, _
          CDate(listEcheances(i).Value2), _
          CLng(listEcheances(i).Value2 - Date) _
        )
      End If
    End If
  Next i

  Dim msg As String, car As Variant
  msg = "Fin de contrats :" & vbCrLf
  For Each car In imatFlags
    msg = msg & car(0) & " le " & car(1) & " (dans " & car(2) & " jours)" & vbCrLf
  Next car

  MsgBox msg, vbInformation, "Echeances"
End Sub

Merci beaucoup pour ton aide c'est même encore mieux que ce que j'avais imaginé !

Je vous en prie, n’oubliez pas de marquer le fil en résolu (petit coche en haut d’une message). Bonne journée.

Rechercher des sujets similaires à "msgbox fonction variable temps"