J'ai une liste de mes coll=E8gues (+450personnes) avec leur date de f=EAte
et
je voudrait que la macro me donne les prochaine f=EAte,
cela dans une boite message a l'ouverture.
Voici la proc=E9dure (qui fonctionnais, mais ne fonctionne plus)
Sub anniversaire()
Set feuil =3D ThisWorkbook.Sheets(1)
demi =3D feuil.Range("dur=E9e") / 2
For lin =3D 1 To feuil.Cells.SpecialCells(xlCellTypeLastCell).Row
Set cel =3D feuil.Cells(lin, 1)
If IsDate(cel) Then
If Abs(Now - 1 + demi - DateValue(Day(cel) & " " & Month(cel) & " " &
Year(Now))) < demi _
Or Abs(Now - 1 + demi - DateValue(Day(cel) & " " & Month(cel) & " " &
Year(Now) + 1)) < demi Then
blabla =3D blabla & Chr(13) & Chr(13) & Format(feuil.Cells(lin, 1),
" (ddd) dd mmm") & " =3D " & feuil.Cells(lin, 2) & " " &
feuil.Cells(lin, 3) & " " & feuil.Cells(lin, 5) & " " &
feuil.Cells(lin, 11)
End If
End If
Next
If blabla <> "" Then MsgBox "Anniversaire de " & (blabla)
If ThisWorkbook.Name =3D "anniversaires.xla" Then ThisWorkbook.Close
(False)
If MsgBox("D=E9sirez-vous quitter ...?", vbCritical _
+ vbYesNo, "Attention") =3D vbYes Then
ThisWorkbook.Close True
End If
End Sub
--------------------
ou est mon erreur
PS: j'ai attacher le fichier
http://cjoint.com/?iFqYNgfwTl