Ouverture ListBox pour rappel

ironangel

XLDnaute Occasionnel
Bonjour le forum,

Je sollicite votre aide pour un projet qui me faciliterai la vie.
Je cherche a créer une macro qui à l'ouverture de mon fichier fasse cela:

> Analyse de toutes les dates situées dans la colonne "date de rappel"
> Ouverture d'une fenetre, ou copie sur une autre feuille des clients à rappeler ce jour.

Merci d'avance pour votre aide précieuse.

Seb
 

Pièces jointes

  • fichier test.xlsx
    8.9 KB · Affichages: 59
  • fichier test.xlsx
    8.9 KB · Affichages: 63
  • fichier test.xlsx
    8.9 KB · Affichages: 62

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ouverture ListBox pour rappel

Bonjour Ironangel, bonjour le forum,

Peut-être comme ça, avec la macro événementielle Open du composant ThisWorkbook :
Code:
Private Sub Workbook_Open()
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim mes As String 'déclare la variable mes (MESsage)
Dim test As Boolean 'déclare la variable test
 
mes = "Vous devez rappeler les clients suivants :" & Chr(13) 'définit le message mes
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    Set pl = .Range("F2:F" & .Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
End With 'fin de la prise en compte de ...
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    If cel.Value <> "" Then 'condition : si la cellule n'est pas vide
        'si la date est la date du jour, redéfinit le message mes, définit la variable test
        If cel.Value = Date Then mes = mes & cel.Offset(0, -5).Value & Chr(13): test = True
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
If test = True Then MsgBox mes 'si test est vraie affiche le message mes
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ouverture ListBox pour rappel

Bonjour Ironangel, bonjour le forum,

Essaie comme ça :
Code:
Private Sub Workbook_Open()
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim mes As String 'déclare la variable mes (MESsage)
Dim test As Boolean 'déclare la variable test
 
mes = "Vous devez rappeler les clients suivants :" & Chr(13) 'définit le message mes
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    Set pl = .Range("F2:F" & .Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit la plage pl
End With 'fin de la prise en compte de ...
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    If cel.Value <> "" Then 'condition 1 : si la cellule n'est pas vide
        If cel.Value = Date Then 'condition 2: si la date est la date du jour
            mes = mes & cel.Offset(0, -5).Value & Chr(13) 'redéfinit le message
            test = True 'définit la variable test
            Range(cel.Offset(0, -5), cel).Interior.ColorIndex = 3 'colore la ligne de rouge
        End If 'fin de la condition 2
    End If 'fin de la condition 1
Next cel 'prochaine cellule de la boucle
If test = True Then MsgBox mes 'si test est vraie affiche le message mes
End Sub
 

ironangel

XLDnaute Occasionnel
Re : Ouverture ListBox pour rappel

Merci robert pour ton aide,

Dit moi, est ce qu'il serait possible de modifier la macro pour quelle m'affiche toutes les lignes antérieures à la date du jour, de cette maniére, cela me forcera à bien penser à supprimer les dates obsoletes.

Merci
 

Discussions similaires

Réponses
10
Affichages
831

Statistiques des forums

Discussions
312 216
Messages
2 086 344
Membres
103 193
dernier inscrit
tedelio