Extraire certaines feuilles - VBA

randle88

XLDnaute Junior
Bonjour à tous,

Je vous sollicite car je bloque sur une (petite) macro.

L'objectif est donc de :
- sélectionner les feuilles (à partir de la troisième jusqu'à la dernière);
- d'extraire ces feuilles dans un nouveau classeur (situé dans le même répertoire);
- d'enregistrer ce nouveau classeur grâce à une boîte de dialogue.

Pour la sélection c'est bon (voir code ci-dessous). Mais c'est le seconde étape qui me pose problème. Si vous avez des idées ...

Merci d'avance

Code:
Sub SelectionOngletsMultiples()
  Sheets(3).Select
  For i = 4 To Sheets.Count
      Sheets(i).Select False
  Next i
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Extraire certaines feuilles - VBA

Bonjour,

essaye avec l'enregistreur de macro, tu ouvres le classeur de destination, et avec la souris en maintenant la touche CTRL enfoncée tu déplaces les feuilles du classeur source vers le classeur de destination... Le code sera tout fait, revien éventuellement pour une optimisation...

bon après midi
@+
 

randle88

XLDnaute Junior
Re : Extraire certaines feuilles - VBA

Bonjour et merci pour vos réponses.

J'avais déjà pensé à faire le test avec l'enregistreur de macro.

Le code généré pour la copie est le suivant :

Code:
    Sheets(Array("Feuil2", "Feuil3", "Feuil4")).Select
    Sheets("Feuil3").Activate
    Sheets(Array("Feuil2", "Feuil3", "Feuil4")).Copy

Mon problème est que le nombre de feuille peut varier. et que donc je ne peux pas entrer en "dur" les composantes du array.

En fait via la macro dans le premier post je sélectionne les feuilles voulues, et je souhaiterais pouvoir reprendre cette sélection pour la copier dans un autre classeur.

Sinon puis-je rendre dynamique les composantes du array ? style
Code:
Sheets(Array("selection")).Select

Merci !
 

Discussions similaires

Statistiques des forums

Discussions
312 448
Messages
2 088 505
Membres
103 873
dernier inscrit
Sabin