Utiliser une array avec sheets

S

Serge

Guest
Bonjour

Je souhaite utiliser un tableau construit avec liste de noms récupérer dans une feuille pour sélectionner plusieurs autres feuilles d'un même classeurs.
Voici comment se présente la macro

Dim Listefeuilles As Variant

Sheets("param").Select 'je sélectionne la feuille ou se trouve la liste de nom
Listefeuilles = Range("A22:A33").Value 'je sélectionne la liste de nom pour construire le tableau. Ces noms correspondent à des noms de feuilles du même classeur. je veux sélectionner toutes les feuilles dont le nom est dans cette liste qui est construite avec une autre macro qui récupère le nom des feuilles.
Je ne peux pas utiliser sheets(array(feuill1, feuill2, feuill3, ...)).select car les noms peuvent changer. (ça, ça fonctionne;=))

je voudrais donc utiliser quelque chose comme :
Sheets(Listefeuilles).Select

Mais ça ne marche pas. Si quelqu'un peut m'aider,,, grand merci. J'espère surtout être assez clair dans mes explications.
 
Z

Zon

Guest
Salut,

Quand on affecte une plage de cellules à un tableau, ce dernier est bidimensionnel en base 1. sheets attend un tableau de base 0 unidimensionnel, il suffit donc de transformer le tableau.

par exemple

sub SelectF()
Dim Listefeuilles
listefeuilles=redimt(Range("A22:A33").Value)
sheets(listefeuilles).select
end sub

function redimt(t)
dim Temp,I&
redim temp(ubound(t)-1)
for i=1 to ubound(t)
temp(i-1)=t(i,1)
next i
redimt=temp
end function


A+++

Lien supprimé
 
S

Serge

Guest
Génial Zon

Un grand merci comme promis. Je suis allé faire un tour sur le KiKi de Zon et j'aurais du commencé par là mais je ne la connaissais pas encore.
Je mets ta page dans mes favoris.

Au plaisir d'une prochaine lecture.
Serge.
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12