Bonjour le forum,
J'ai une base de donnée qui contient en colonne AY des dates de fin de contrat. A l'ouverture, je voudrai une alerte pour toutes les lignes dont le contrat arrive à échéance le mois courant.
Voici mon code
Private Sub Workbook_Open()
'Définition des variables :
Dim ColDossier As String, ColDate As String
'Affectation des variables
ColDossier = "A"
ColDate = "AY"
'Départ de la boucle à la dernière cellule de la feuille
ActiveCell.SpecialCells(xlLastCell).Select
Cells(ActiveCell.Row, ColDate).Select
Selection.End(xlUp).Select
'Début Boucle :
Do While ActiveCell.Row > 1 'pas d'action sur les lignes 1 à 1
If ActiveCell.Value > 1 And ActiveCell.Value < Date + 15 Then 'controle valeur de date
MsgBox "Attention contrat " & _
IIf(Cells(ActiveCell.Row, ColDossier).Value = "", _
Cells(ActiveCell.Row, ColDossier).End(xlUp).Value, _
Cells(ActiveCell.Row, ColDossier).Value) & _
" à renouveler !" 'affiche le message
End If
ActiveCell.Offset(-1, 0).Select 'passe une ligne
Loop
'Fin Boucle.
End Sub
Le code fonctionne pour les contrats qui sont arrivés à échéance depuis + de 15 jours, mais ce que je souhaite ce sont les contrats qui sont à échéance le mois en cours (entre le 1er du mois et le 30 ou 31). Exemple si aujourd'hui le 22/10/2014, je souhaite être alerté sur toutes les échéances d'octobre. Je n'arrive pas à adapter ce code.
Merci d'avance.
J'ai une base de donnée qui contient en colonne AY des dates de fin de contrat. A l'ouverture, je voudrai une alerte pour toutes les lignes dont le contrat arrive à échéance le mois courant.
Voici mon code
Private Sub Workbook_Open()
'Définition des variables :
Dim ColDossier As String, ColDate As String
'Affectation des variables
ColDossier = "A"
ColDate = "AY"
'Départ de la boucle à la dernière cellule de la feuille
ActiveCell.SpecialCells(xlLastCell).Select
Cells(ActiveCell.Row, ColDate).Select
Selection.End(xlUp).Select
'Début Boucle :
Do While ActiveCell.Row > 1 'pas d'action sur les lignes 1 à 1
If ActiveCell.Value > 1 And ActiveCell.Value < Date + 15 Then 'controle valeur de date
MsgBox "Attention contrat " & _
IIf(Cells(ActiveCell.Row, ColDossier).Value = "", _
Cells(ActiveCell.Row, ColDossier).End(xlUp).Value, _
Cells(ActiveCell.Row, ColDossier).Value) & _
" à renouveler !" 'affiche le message
End If
ActiveCell.Offset(-1, 0).Select 'passe une ligne
Loop
'Fin Boucle.
End Sub
Le code fonctionne pour les contrats qui sont arrivés à échéance depuis + de 15 jours, mais ce que je souhaite ce sont les contrats qui sont à échéance le mois en cours (entre le 1er du mois et le 30 ou 31). Exemple si aujourd'hui le 22/10/2014, je souhaite être alerté sur toutes les échéances d'octobre. Je n'arrive pas à adapter ce code.
Merci d'avance.