Message alerte

Bonjour ;

j'ai crée une macro qui m'alerte à l'approche d'une date précise, le problème est que quand je masque la feuill1 ( qui contient les données) la macro beug

je voudrais que mon fichier s'ouvre sur la feuille " page de garde"

cordialement

30echeance-v2.xlsm (16.17 Ko)

Bonjour,

Il faut renseigner sur quelle feuille l'opération s'exécutera ...

Sub test()
Dim Cel As Range
Dim Ws As Worksheet

   Set Ws = Worksheets("Feuil1")
   For Each Cel In Ws.Range("c2:C" & Ws.Range("C2").End(xlDown).Row)
      If Cel.Value + 30 <= Date Then
         MsgBox "Attention" & " LE CLIENT " & Cel.Offset(0, -2) & " est en retard de règlement sur la facture " & Cel.Offset(0, -1)
      End If
   Next Cel
End Sub

ric

salut ric;

le problème persiste , si je masque la feuille de donnée et que je ferme le fichier excel

à la réouverture ça bloque

Bonjour,

Dans la macro test, je t'ai donné la méthode qu'il faut appliquer à "Workbook_Open" dans "ThisWorkbook"

Option Explicit

Dim mess$, Cel As Range, cpt&

Private Sub Workbook_Open()
Dim Ws As Worksheet

   Set Ws = Worksheets("Feuil1")
    mess = "": cpt = 0
    For Each Cel In Ws.Range("c2:C" & Ws.Range("C2").End(xlDown).Row)
        If Cel.Value + 30 <= Date And Cel.Offset(0, 1) = "" Then
            mess = mess & "* " & Cel.Offset(0, -2) & " sur la facture " & Cel.Offset(0, -1) & Chr(13)
            cpt = cpt + 1
            'MsgBox "Attention" & " LE CLIENT " & Cel.Offset(0, -2) & " est en retard de reglement" & "sur la facture " & Cel.Offset(0, -1)
        End If
    Next Cel
    If mess <> "" Then
        If cpt > 1 Then
            MsgBox "Attention !" & Chr(13) & "Les clients suivants sont en retard de règlement :" & _
                        Chr(13) & Chr(13) & mess
        Else
            MsgBox "Attention !" & Chr(13) & mess & " est en retard de règlement."
        End If
    End If
End Sub

ric

Merci ric

ça marche !

Cordialement

ric

Rechercher des sujets similaires à "message alerte"