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

  • Initiateur de la discussion Initiateur de la discussion Amauty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Amauty

Guest
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
 
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
 
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+
 
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 !
 
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
 
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é.
 
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

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 ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
796
Themax
T
Retour