Creer un classeur à partir d'un autre

GB9011 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
GB9011 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je m'oriente vers vous afin de savoir si une macro peut me venir en aide ou plutôt à mes collaborateurs qui saturent.
Voici mon dilemme :
J'ai un classeur disont nommé "Origine" contenant différentes feuilles qu'on appellera AAA, BBB, CCC ...
Chacune de ces feuilles contiennent des listes déroulantes faisant référence à des Noms dont les éléments sont inscrits sur une feuille qu'on appellera XXX (cette feuille fait partie du classeur "Origine").
Je souhaite savoir si par le biais d'une macro il est possible de créer un nouveau classeur en ne choisissant que certaines feuilles du classeur "Origine" et selon les besoins en autant de copie que nécessaire.
Ex : je veux dans le nouveau classeur 2 feuilles AAA, 1 feuille BBB et 3 fois CCC.

Première question : est-ce possible de réaliser cela ?
Deuxième question : est-ce qu'en recopiant la feuille XXX dans le nouveau classeur de la sorte, mes listes déroulantes et fonction fonctionneront ?

Bien sûr pour arranger tout cela je suis novice en VBA. Ca roule sur formules etc...sur excel ou encore HTML, Php, MySql mais le VBA c'est un peu du chinois pour moi.
Le problème est que je ne peux rien utiliser d'autres pour le taf.

Merci pour votre aide.

Guillaume



1 réponse

Zawarudio Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   1
 

Sub test()
Dim test As Boolean

Dim wb1, wb2 As Workbook
Set wb1 = ActiveWorkbook
Set wb2 = Application.Workbooks.Add
'test = True
'Methode 1
If (test) Then
'Crée un nouveau classeur
wb1.Sheets("Feuil1").Range("A1:B10").Copy
wb2.Sheets("Feuil1").Activate
ActiveSheet.Range("A1").Select
ActiveSheet.Paste

'Methode 2
Else
'Copie une feuille dans un nouveau classeur
wb1.Worksheets("Feuil1").Copy After:=wb2.Sheets(wb2.Sheets.Count)
wb1.Worksheets("Feuil1").Copy After:=wb2.Sheets(wb2.Sheets.Count)
End If
End Sub



Les listes déroulantes fonctionnent avec une référence nommée, qui renvoie elle même vers une plage de cellule.
Si vous copiez la plage de cellule utilisée par la liste dans le classeur que vous allez créer, ça devrait marcher sans problème.

Cordialement,
0
GB9011 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Zawarudio

Merci beaucoup. Je le testerai demain au taf dès que j'aurai un moment.
Je dirai si cela fonctionne bien.
En tout cas, sympa pour cette réponse rapide.

Cordialement
0