Bonjour Philippe,
merci de te pencher sur le problème.
le code de "NumWeek()" est :
1 2 3
| Function NumWeek(Jour As Date) As Integer
NumWeek = DatePart("ww", Jour, vbMonday, vbFirstFourDays)
End Function |
Ce qui pose problème est le contenu de "jour".
Ta formule
SemDecalage = DatePart("ww", DateSerial(Range("_Annee").Value, 1, 1), vbMonday, vbFirstFourDays)
provoque une "erreur 400".
L'erreur est aussi sur la ligne
MsgBox Range("_Annee").Value
alors que dans la fenêtre d'exécution immédiate, il n'y a pas d'erreur.
J'ai supprimé la plage nommée, fermé le classeur, ré-ouvert ce dernier et recréé la plage nommée. Toujours le même problème.
Est-ce un problème de version ?
Sous 2010, je n'avais pas ce problème. Et me souviens d'avoir déjà utilisé "_Annee" sans problème.
J'ai d'ailleurs un problème avec une plage nommée (vieille de 15 ans) qui ne fonctionne plus dans un autre classeur. Mais pour un autre post.
ESVBA
Partager