Spitnolan08
XLDnaute Barbatruc
Bonsoir le forum,
J'ai une nouvelle problématique que je vais essayer de vous expliquer :
J'ai créé une fonction VBA (mais le pb se poserait tout autant pour une macro classique...) qui définit un objet Range dans son déroulement (Plage de cellules) :
Mon souci est le suivant :
Lorsque la macro est dans le classeur où se trouve la feuille contenant la plage de cellules, la macro fonctionne parfaitement
Mais lorsque j'utilise cette fonction depuis un autre classeur, il faut que la feuille contenant la plage de cellules soit activée. Sinon je ne parviens pas à définir l'objet Range...?!?
Cela est d'autant plus incompréhensible que je définis deux fois des objets range avec la même WorksheetFunction et que seul un des deux cas pose problème !
Pour une meilleure compréhension je vous joint 2 fichiers, chacun ayant les mêmes macros mais dont un seul contient la feuille contenant la plage de cellules.
Avez vous une explication ?
Bien sûr, en rajoutant Activate, je contourne le problème, mais ce n'est pas très élégant....
J'ai une nouvelle problématique que je vais essayer de vous expliquer :
J'ai créé une fonction VBA (mais le pb se poserait tout autant pour une macro classique...) qui définit un objet Range dans son déroulement (Plage de cellules) :
Code:
.Range(Cells(ko, ColTranche), Cells(ko - 1 + NbLigOpé, ColTranche))
Lorsque la macro est dans le classeur où se trouve la feuille contenant la plage de cellules, la macro fonctionne parfaitement
Mais lorsque j'utilise cette fonction depuis un autre classeur, il faut que la feuille contenant la plage de cellules soit activée. Sinon je ne parviens pas à définir l'objet Range...?!?
Cela est d'autant plus incompréhensible que je définis deux fois des objets range avec la même WorksheetFunction et que seul un des deux cas pose problème !
Pour une meilleure compréhension je vous joint 2 fichiers, chacun ayant les mêmes macros mais dont un seul contient la feuille contenant la plage de cellules.
Avez vous une explication ?
Bien sûr, en rajoutant Activate, je contourne le problème, mais ce n'est pas très élégant....