VBA : sélectionner toutes les feuilles de deux collections distinctes

Amauty

XLDnaute Junior
Bonjour à tous,

Je travaille sur une macro de mise en page pour impression. J'ai créé deux collectionx Csheet1 et Csheet2 de feuille et je souhaite préparer l'impression via une macro. Je ne parviens pas à trouver le code qui me permette de sélectionner les feuilles de ces deux collections (afin de ne plus avoir qu'à "imprimer les feuilles actives").

Est ce que quelqu'un a une idée ?

merci

Amaury
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Bonsoir Amauty, bonsoir le forum,

Si tu mettais le code ou un petit fichier exemple ça serait plus facile de t'aider...
 

Amauty

XLDnaute Junior
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Bonjour Robert,

Le début de code :

Code:
csheet1.Add Hoja1
csheet1.Add Hoja8
csheet1.Add Feuil6
csheet1.Add Feuil9

csheet2.Add Feuil7
csheet2.Add Feuil5
csheet2.Add Feuil12
csheet2.Add Feuil16
csheet2.Add Feuil10

'sélectionner les feuilles des deux collections :
for each sh in csheet1 and csheet2
sh.select
next sh

la dernière partie ne fonctionne pas bien entendu et je n'ai aucune idée pour effectuer via un vba la sélection multiple des feuilles. L'idée des collections est que je les utilise à plusieurs reprises dans mon code et je suis amené dans le temps à ajouter de nouvelles feuilles.

Une idée ?

Merci
 

Grand Chaman Excel

XLDnaute Impliqué
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Bonjour Amauty,

Tu ne peux pas utiliser de AND dans ta commande FOR EACH...
Tu devras créer une 3e collection qui contiendra les feuilles de tes 2 autres collection. Sans avoir testé, quelque chose du genre :

Code:
For Each sh In csheet1: csheet3.Add sh: Next sh
For Each sh In csheet2: csheet3.Add sh: Next sh
For Each sh In csheet3: sh.Select: Next sh

A+
 

Amauty

XLDnaute Junior
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Merci pour cette indication Grand Chaman,
Mon souci principal reste de trouver le code qui me permette de faire une sélection multiple car avec ce code For each, il ne conserve que la dernière feuille de la collection comme élément sélectionné, or je veux toutes les sélectionner !
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Bonsoir le fil, bonsoir le forum,

Essaie comme ça :

Code:
Sub Macro1()
Dim f1 As Variant

f1 = Array("Feuil1", "Feuil3", "Feuil4", "Feuil6")
Sheets(f1).Select
End Sub
 

Amauty

XLDnaute Junior
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Voici le premier code que j'ai fait qui fonctionne mais qui n'est pas facilement adaptable :
Code:
Sheets(Array("GENERAL", "ARGENTINE", "Cuadro sintetico", "Mercado", "Graph Mercado" _
        , "Pto", "Graph Pto", "Marca", "Graph répartition centre profit", "Graph GE % ($)", _
        "Graph GE % (Btl)", "Graph Marca vol")).Select
avec tous les noms de feuille. Le risque c'est que l'utilisateur change le nom d'une feuille et en deuxième temps, je préfère utiliser les collection auxquelles je fais appel à plusieurs reprises dans le code et qui sont très simple à mettre à jour dans le temps.

Il n'y a vraiment pas moyen de sélectionner tous les éléments d'une collection ? sinon ton code ne fonctionne pas, la méthode select de la classe worksheet a échoué.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

Bonsoir le fil, bonsoir le forum,

Comme je suis pas très doué, j'ai pris l'habitude de tester mes codes avant de les envoyer. Le code fonctionne parfaitement :
 

Pièces jointes

  • Amauty_v01.xls
    31 KB · Affichages: 109

Amauty

XLDnaute Junior
Re : VBA : sélectionner toutes les feuilles de deux collections distinctes

OUi ton code fonctionne, mais lorsque je l'adapte sur mon fichier, il ne fonctionne plus. Mystère et boule de gomme, as-tu une idée ? Une option à activer/désactiver ?
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 113
dernier inscrit
jlaussenac