Bonjour,

OK, le "undescore" a un usage spécifique dans le VBE.

Mais le correcteur comprend bien le texte voulu tout comme en mode exécution directe ou l'interpréteur affiche bien la valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  ? Range("_Annee").Value
Mais "erreur 400" lors de l’exécution de la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    Dim SemDecalage As Integer
 
    MsgBox Range("_Annee").Value
    SemDecalage = NumWeek(DateSerial(Range("_Annee").Value, 9, 1)) - 1
Cette valeur nommée "_Année" existe dans presque tous les classeurs.

Quelle solution me proposez-vous ?
1) Changer le nom de la variable et donc aussi dans toutes les formules : un recherche & remplacer devrait suffire
2) Aller chercher la référence de la cellule contenant la plage nommée. (plus simple mais non spécifique)
3) vos solutions...

Merci à vous.

ESVBA