Non reconnaissance d'un objet Range

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) :
Code:
.Range(Cells(ko, ColTranche), Cells(ko - 1 + NbLigOpé, ColTranche))
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....
 

Fichiers joints

mapomme

XLDnaute Barbatruc
Supporter XLD
bonjour Spitnolan08,
et en "pointant" les celllules ?
Code:
.Range(.Cells(ko, ColTranche), .Cells(ko - 1 + NbLigOpé, ColTranche))
 

Spitnolan08

XLDnaute Barbatruc
Bonjour le forum,
mapomme de raison !

Eh bien voilà une idée à laquelle je n'avais pas pensé et qui me paraissait un peu étrange au premier abord... le Range étant déjà "pointé"
Mais, à la réflexion, ça me parait logique. On peut même supprimer le "pointage" devant le Range.

Et c'est la solution !

Comme quoi il faut rester ouvert à toute éventualité :):D

Merci
 
Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas