le VB est un langage de pédés, donc il contient plein d'instructions plus ou moins inutiles, mais bon autant les utiliser. pour parcourir une collection d'objet il faut utiliser "foreach"
dim sh As Sheet
Foreach sh in Sheets
sh.Select
For j = 1 To ActiveSheet.ChartObjects.Count
Period = TROUV_PERIOD(i, j)
Next j
Next sh
et ton deuxieme for tu devrais pouvoir le faire pareil
de plus le select m'a l'air d'etre une solution assez degueulasse, tu devrais essayer de faire autrement, par exemple en passant le parametre sh à ta fonction TROUV_PERIOD
si tu veux plus de details, reposte
A+