Message d'alerte si date dépassées

nrdz83

XLDnaute Impliqué
Bonsoir à tous,

dans la première partie du code ci-dessous, ça m'affiche un message d'alerte si des dates à échéances sont dépassées.
Code fonctionnent à merveille grace aux lumières de plusieurs personnes du forum.

Je cherche à faire un message d'alert également si des dates sont dépassées dans une autre feuille.

J'essaye de mettre donc un code similaire à la suite mais ça ne fonctionne pas.

Comment dois je le modifier ?

Par avance merci pour vos lumières

Code:
'Rappel d'échéances visites VGP
  Dim T_Date, Msg As String, cel As Range
  T_Date = Date


  For Each cel In Feuil3.Range("D3:D12")
    If T_Date >= cel.Value Then
    
      Msg = "Attention, il y a des dates à échéance de VGP dépassées"
     
      Exit For
    End If
  Next
  If Msg <> "" Then MsgBox Msg
'End Sub


'Rappel échéances remplacement filet
  Dim L_Date, Msg2 As String, cel As Range
  L_Date = Date


  For Each cel In Feuil9.Range("N3:N550")
    If L_Date >= cel.Value Then
    
      Msg2 = "Attention, il y a des dates à échéance du remplacement du filet dépassées"
     
      Exit For
    End If
  Next
  If Msg2 <> "" Then MsgBox Msg
End Sub


Amitiés et merci d'avance
 

Gelinotte

XLDnaute Accro
Re : Message d'alerte si date dépassées

Bonjour,

On ne peut pas déclarer deux fois la même variable (cel)

Ce n'est pas testé ....

Code:
'Rappel d'échéances visites VGP
   Dim T_Date, Msg As String, cel As Range
   T_Date = Date
 
  For Each cel In Feuil3.Range("D3:D12")
     If T_Date >= cel.Value Then
     
      Msg = "Attention, il y a des dates à échéance de VGP dépassées"
      
       Exit For
     End If
   Next
   If Msg <> "" Then MsgBox Msg
 'End Sub
 
'Rappel échéances remplacement filet
   Dim L_Date, Msg2 As String, cel2 As Range
   L_Date = Date
 
  For Each cel2 In Feuil9.Range("N3:N550")
     If L_Date >= cel2.Value Then
     
      Msg2 = "Attention, il y a des dates à échéance du remplacement du filet dépassées"
      
       Exit For
     End If
   Next
   If Msg2 <> "" Then MsgBox Msg2
 End Sub


G
 

nrdz83

XLDnaute Impliqué
Re : Message d'alerte si date dépassées

Bonsoir
et super grace à vous j'ai réussi ça fonctionne tellement bien que du coup j'ai mis une troisième alerte.
Voici donc mon code final

Code:
'Affiche un message si date en retard
Private Sub Workbook_Open()

'Se range à la page accueil
Sheets("Accueil").Select
  Range("A2").Select


'Rappel d'échéances visites VGP
  Dim T_Date, Msg As String, cel As Range
  T_Date = Date


  For Each cel In Feuil3.Range("D3:D12")
    If T_Date >= cel.Value Then
    
      Msg = "Attention, il y a des dates à échéance de VGP dépassées"
     
      Exit For
    End If
  Next
  If Msg <> "" Then MsgBox Msg
'Rappel échéances contôle semestriel des passerelles
  
  T_Date = Date


  For Each cel In Feuil9.Range("J3:J31")
    If T_Date >= cel.Value Then
    
      Msg = "Attention, il y a des dates à échéance du contrôle d'état de conservation semestriel des coupées de dépassées"
     
      Exit For
    End If
  Next
  If Msg <> "" Then MsgBox Msg

'Rappel échéances remplacement filet
  
  T_Date = Date


  For Each cel In Feuil9.Range("N3:N31")
    If T_Date >= cel.Value Then
    
      Msg = "Attention, il y a des dates à échéance du remplacement du filet dépassées"
     
      Exit For
    End If
  Next
  If Msg <> "" Then MsgBox Msg
  
  
End Sub

Par contre si je choisi par exemple N3:N550 (en prévision de saisie future), j'ai automatiquement la Msb alerte qui s'affiche.

Merci encore

amitiés
 

Lone-wolf

XLDnaute Barbatruc
Re : Message d'alerte si date dépassées

Bonsoir à tous,

un proposition un peu plus courte, suite à l'aide d'un Xldiens ( :eek: désolé, je ne me souviens plus qui c'était)



Code:
Private Sub UserForm_Initialize()
dteRdv = Feuil2.Range("A1")
hreRdv = Feuil2.Range("B1")
dte = Int(dteRdv)
If dteRdv >= Date Then
Message = IIf(dteRdv > Now, "VOTRE PROCHAIN RENDEZ-VOUS" & vbLf & vbLf & " " & Format(dte, "dddd dd mmmm yyyy") & "  à  " & Format(hreRdv, "hh:mm"), _
 "    " & Format(dteRdv, "dddd dd mmmm yyyy") & vbLf & vbLf & "Vous avez rendez-vous à " & Format(hreRdv, "hh:mm"))
Me.Lb_Message.Caption = Message
Else
Me.Lb_Message.Caption = "Où est-ce que vous avez la tête ?!" & vbLf & vbLf & _
"Vous avez oubliés le rendez-vous !!"
End If
End Sub


A+ :cool:
 

Gelinotte

XLDnaute Accro
Re : Message d'alerte si date dépassées

Bonsoir,


Bonsoir
et super grace à vous j'ai réussi ça fonctionne tellement bien que du coup j'ai mis une troisième alerte.
Voici donc mon code final


Par contre si je choisi par exemple N3:N550 (en prévision de saisie future), j'ai automatiquement la Msb alerte qui s'affiche.

Merci encore

amitiés

Pour la plage N3:N550, je message d'alerte survient, car il y a des cellules vides.
Il faudrait ajouter une détection de la dernière cellule non vide.

Du genre :
Code:
  Dim DerLig as integer

.............DerLig = Feuil9.Range("N65535").End(xlUp).Row
   For Each cel In Feuil9.Range("N3:N" & DerLig) ..........

Par contre, je n'ai pas regardé le code de Lone-wolf



G
 

Discussions similaires