Créer Msgbox alerte date dépassée

  • Initiateur de la discussion Initiateur de la discussion mix770
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mix770

XLDnaute Impliqué
Bonjour à tous,
j'ai besion SVP d'un coup de main...
j'ai une macro sous la main qui s'active quand la date est dépassée, elle était dans le thisworkbook,

Private Sub Workbook_Open()
Dim i As Long, Msg As String
Sheets("ACCUEIL").Activate
With Sheets("feuil1")
For i = 6 To .Cells(Rows.Count, 8).End(xlUp).Row
If .Cells(i, 8).Value <= Date - 5 And .Cells(i, 9) = "" Then Msg = Msg & .Cells(i, 8).Value & vbLf
Next i
End With
If Len(Msg) > 0 Then MsgBox "Attention, des demandes ne sont toujours pas traitées" & vbLf & Msg
End Sub
elle fonctionnait dans mon ancien fichier car il n'y avait qu'une page avec une seul plage de recherche.
Aujourd'hui je souhaiterai quand une date est inscrite, qu'a l'ouverture du fichier un message d'alerte s'active avec le nom du site concerné, le problème est qu'il y a 30 onglets, un par site.
je vous joins le modèle,
Merci à vous
 

Pièces jointes

Re : Créer Msgbox alerte date dépassée

Bonjour,

Peut-être ça ?

Private Sub Workbook_Open()

Dim i As Long, Msg As String, sheet As Object

Sheets("ACCUEIL").Activate
For Each sheet In Worksheets
For i = 6 To Cells(Rows.Count, 8).End(xlUp).Row
If Cells(i, 8).Value <= Date - 5 And Cells(i, 9) = "" Then Msg = Msg & Cells(i, 8).Value & vbLf
Next i
Next
If Len(Msg) > 0 Then MsgBox "Attention, des demandes ne sont toujours pas traitées" & vbLf & Msg

End Sub
 
Re : Créer Msgbox alerte date dépassée

Bonjour Billy,
je ne suis pas très fort encore sur les macro, celle que j'ai mis était pour un autre classeur donc les référence ne sont pas bonnes,
j'ai essayé, il ne se passe rien à l'ouverture
merci à toi
 
Re : Créer Msgbox alerte date dépassée

Bonjour,

la seule référence spécifique à un classeur est le nom de la feuille, donc en supprimant :
Code:
Sheets("ACCUEIL").Activate
ça devrait marcher.
Par ailleurs il serait peut-être intéressant de connaitre dans le message le nom de la feuille incriminée;

Code:
Private Sub Workbook_Open()
Dim i As Long, Msg As String
For Each Feuille In Worksheets
  With Feuille

  For i = 6 To .Cells(Rows.Count, 8).End(xlUp).Row
     If .Cells(i, 8).Value <= Date - 5 And .Cells(i, 9) = "" Then Msg = Msg & .Name & .Cells(i, 8).Value & vbLf
  Next i
End With

If Len(Msg) > 0 Then MsgBox "Attention, des demandes ne sont toujours pas traitées" & vbLf & Msg
End Sub

Bonne suite
 
Re : Créer Msgbox alerte date dépassée

Bonjour,
merci de ta réponse cela ne marche pas, mais après réflexion, il sera plus lisible puisque j'ai une page d'accueil avec les noms des sites, d'afficher un message si il n'y a pas de réponse.
je résume donc mon idée:
en C37 on entre la date d'envoi
D37 date de réception de réponse
donc si dans les 15 jours il n'y a pas de date dans D37 en E37 s'affiche un symbole smiley...
merci à vous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
251
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
485
Réponses
4
Affichages
180
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
652
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
Réponses
2
Affichages
154
Retour