bien sur pour la déclaration,
Pour le plantage, j'ai remarqué une chose,que je ne m'explique pas trop.
J'avais la même chose sur ton fichier.
excel ne détecte pas sur le tableau vide (tb1) les databodyrange, d’où une erreur
comme si le tableau n'avais pas été initialisé, à sa création.
Dans ton tableau vide tb1 , j'ai mis une valeur, puis je l'ai retirée, et c'est pour cela qu'il fonctionne.
Tu peu gérer ceci en utilisant le traitement d'erreur,