Re : Alerte Date du mois
Bonjour à vous 2 et au forum,
Voici l'adaptation de mon code avec vos précieux conseils.
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 > DateSerial(Year(Date), Month(Date), 1) And ActiveCell.Value < DateSerial(Year(Date), Month(Date) + 2, 0) 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
Cela fonctionne bien et je vous remercie tous les 2. En revanche, je ne parviens pas à adapter le code pour qu'il m'affiche tous les résultats dans un seul MsgBox.
Par ailleurs, je ne comprends pas le code de Staple ci-dessous et ne parviens pas à l'adapter :
Sub Macro2()
'
' Macro enregistrée le 22/10/2014 par Staple en extérieur
'
Dim Mess$, c As Range
Range("A1") = Date
Range("A1").AutoFill Destination:=Range("A1:A15"), Type:=xlFillWeekdays
For Each c In Range("A1:A15")
If Month(c) = Month(Date) Then
Mess = Mess & Chr(13) & c.Address(0, 0) & ": " & c
Else
'
End If
Next
MsgBox Mess, vbCritical, "Dates du mois en cours"
End Sub
Notamment concernant les Range. Mes dates de fin de contrat se trouvent en colonne "AY" et le nom des salariés concernés en colonne "A".
Je suis un peu novice en vba et j'apprends sur le tas, notamment sur des forums comme celui-ci. Merci de votre compréhension et pour vos excellents conseils.