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....
 

Pièces jointes

  • TestFunctionMacro.xls
    32.5 KB · Affichages: 37
  • TestFunction.xls
    33 KB · Affichages: 38

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:

Discussions similaires

Réponses
26
Affichages
361

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley