Rechercher : dans
Par :

VBA-Sélection toutes feuilles d'un classeur

Dernière réponse le 9 sep 2008 à 16:57:38 soln_soln, le 4 jui 2007 à 11:49:29 
 Signaler ce message aux modérateurs

Bonjour,

Je travaille sur un classeur Excel sur lequel je récupère des données via Report Builder; la requête créée des feuilles(le noms sont différents à chaque fois). J'ai une macro qui me prépare les feuilles (suppression feuilles vides, mise en forme...); j'ai besoin que cette macro sélectionne toutes les feuilles, quelque soit leur nom. Ce que j'ai fait marche uniquement si les feuilles portent le même nom à chaque fois :

Sheets(Array("Données", "feuille1", "feuille2", "feuille3).Select
Sheets("ALBEMA-feuille1").Activate

Quelqu'un pourrais me mettre sur la voie?

D'avance merci
Solène

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « VBA Sélection toutes feuilles d'un classeur » dans :
VBA : Tout connaitre sur le fichier du classeur VoirTout connaitre sur le fichier du classeur Préliminaires Dans le module Dans le module de Feuil1 Préliminaires Ouvrir un nouveau classeur Ajouter un module Dans le module ' Declare variables pour les bulles du compagnon. Public...
[VBA] Collections de classes et collections d’objets VoirCette démo emploi, comme le titre l’indique, des collections différentes. Elle ne comporte que deux séries de cinq contrôles mais peut en gérer beaucoup plus avec le même nombre de lignes de code. Introduction Les contrôles sur une feuille de...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

Perceval Blakeney, le 1 aoû 2007 à 16:12:14

Sub SelectAll()

Dim TableDesFeuilles() as string
Dim i as integer
Dim S as Worksheet

i=0

For each S in MyWbook.sheets
Redim Preserve TableDesFeuilles(i)
TableDesFeuilles(i) = S.Name
i = i + 1
Next

MyWbook.sheets(TableDesFeuilles).select

End Sub

Remplace MyWbook par le nom de ton classeur si tu travaille sur plusieurs classeurs en même temps sinon ne le précise pas. il prendra le classeur actif par defaut.

Voila, ravi d'avoir pu t'aider !
Perceval Blakeney.

Répondre à Perceval Blakeney

2

Antoine, le 3 sep 2008 à 12:33:11

Bonjour,

Je réactive ce vieux message, car cette procédure ne fonctionne pas si le classeur comporte des feuilles cachées.
Avez vous des suggestion.

Merci

Répondre à Antoine

3

Perceval Blakeney, le 6 sep 2008 à 01:40:38

Si il y a des feuilles cachées, le plus simple est de les rendre temporairement visible dans la boucle...

Répondre à Perceval Blakeney

4

Perceval Blakeney, le 6 sep 2008 à 01:44:00

Ou de tester l'etat des feuilles (S.Visible = true / false) dans la boucle :
Si Visible = True alors ajoute le nom au tableau (procedure donnée plus haut).
Sinon passe directement à la feuille suivante.

Répondre à Perceval Blakeney

5

 Antoine, le 9 sep 2008 à 16:57:38

Merci ça marche !

Répondre à Antoine
Collection CommentÇaMarche.net