Peu importe ! C'est nécessairement la feuille active, mais dans tous les cas le code est plus efficace et plus précis en le mettant.
ActiveSheet.Range... oblige à lancer la macro avec ladite feuille active...
Worksheets("2017").Range... permet de la lancer de n'importe où...
et l'utilisation d'une variable pour le nom de feuille (comme il s'agit d'année, cela peut être intéressant), par exemple : an
Worksheets(CStr(an)).Range... fournit un code lançable de n'importe où pour n'importe quelle feuille...
Par ailleurs, intéresse-toi aux autres modifs que j'ai faites sur ton code :
MaCellule est une cellule, donc à déclarer comme Range, on y gagne en précision du code et lors de l'écriture l'assistant fait les bonnes propositions de propriétés ou méthodes pour Range qu'il ne fera pas pour Object !
MaCellule.Count, c'est forcément 1, perte de temps de le faire calculer...
Et multiplier le résultat qui est déjà un nombre par 1 n'a guère d'utilité...
La mise de la condition sur une ligne est secondaire, mais c'est toujours moins à écrire...
Cordialement.
Salut ThauThème !