Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

activation d'une feuille avec vba

info009

XLDnaute Nouveau
bonjour j'ai un petit probleme de debutant sur vba.

Je travail en meme temps sur deux classeurs, du coup, il y'a un qui est actuellement ouvert d'ou j’exécute le code, et un autre que j'ouvre à l'aide de vba.


Ce que j'essaie de faire c'est récuperer l'information dans une cellule se trouvant dans wb1, qui correspond à une feuille sur wb2, et l'ouvrir par la suite pour executer le suite du code qui viendra par la suite. Cette etape se repete autant de fois qu'il y'a de ligne sur wb1.

Mais une fois j'arrive à l'étape wb2.worksheets(nom_feuil).activate , j'ai une erreur "l'indice n'appartient pas à la selection", et je n'arrive pas à voir ou est l'erreur.


Merci.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : activation d'une feuille avec vba

Bonjour Info, bonjour le forum,

en faisant :
Code:
Set wb1 = Workbooks.Open(chemin1)
cela ouvre un classeur et l'active. si derrière tu fais :
Code:
Set wb2 = ActiveWorkbook()
tu te retrouves avec deux variables pour le même classeur. Bon c'est pas la réponse à ta question mais c'est étrange...

Je pense qu'à un moment donnée la cellule (i, 1) de l'onglet ws1 doit contenir une valeur qui n'est pas un nom d'onglet et ça plante...
 

Dranreb

XLDnaute Barbatruc
Re : activation d'une feuille avec vba

Bonjour.

Même conclusion que Robert.
il y'a un qui est actuellement ouvert d'ou j’exécute le code
Celui ci est toujours représenté par ThisWorkbook, quel que soit le classeur actif. Vous n'avez donc pas besoin de variable pour celui là. Par ailleurs ses feuilles sont aussi connues directement de VBA sous le nom figurant dans la rubrique Microsoft Excel Objets à gauche du nom Excel de la feuille rappelé entre parenthèses. Ce sont directement des objets Worksheet. Votre erreur vient probablement de ce qu'un Workbooks.Open rend actif le classeur ouvert, et que Wb2 et Wb1 représentent donc le même classeur. Ça ne se produira plus si vous utilisez ThisWorkbook à la place de Wb2.
 

info009

XLDnaute Nouveau
Re : activation d'une feuille avec vba


En inversant j'ai un message d'erreur aussi.

et je n'ai pas été au bout de la boucle for pour savoir si y'a un problème, je recevais une erreur dés la première boucle.

Merci
 

Discussions similaires

Réponses
6
Affichages
321
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…