regrouper +rs classeurs ds 1 classeur

  • Initiateur de la discussion andrea
  • Date de début
A

andrea

Guest
Bonjour à tous et à toutes

Voici mon code pour regrouper plusieurs classeurs en 1 classeur

Windows('Classeur1').Activate
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Top = 2.5
.Left = 340.75
End With
With ActiveWindow
.Width = 410.25
.Height = 389.25
End With
Windows('Classeur2').Activate
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Width = 370.5
.Height = 389.25
End With
Sheets('bul').Select
Application.CutCopyMode = False
Sheets('bul').Move After:=Workbooks('Classeur1').Sheets(1)
Windows('Classeur3').Activate
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Width = 378.75
.Height = 389.25
End With
Sheets('bul').Select
Sheets('bul').Move After:=Workbooks('Classeur1').Sheets(2)
Windows('Classeur4').Activate
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Width = 370.5
.Height = 389.25
End With
Sheets('bul').Select
Application.CutCopyMode = False
Sheets('bul').Move After:=Workbooks('Classeur1').Sheets(1)

End Sub

j'aimerai que ce code s'adapte quelque soit le nombre de classeurs ouverts et quelque soit leurs noms
Est ce possible????????

Merci pour l'aide apportée
 

mutzik

XLDnaute Barbatruc
Bonjour Andréa

Le premier classeur que tu ouvres, tu peux le sélectionner en faisant workbooks('MonClasseur').activate
Tu peux le faire aussi par : workbooks(1).activate

l'instruction worbooks.count te permet de connaitre le nombre de classeur ouvert
Apres avoir activé un classeur, l'instruction sheets.count te donnera le nombre de feuille de ce classeur

En faisant des boucles imbriquées tu devrait arriver à t'en sortir

Par ex :
- on ouvre en premier (classeur qui aura l'indice 1) le classeur qui doit contenir toutes les autres feuilles des autres classeurs que tu vas ouvrir et qui porteront l(indice 2,3 ->workbooks.count)
- on active le classeur 2
- on fait une boucle sur son nombre de feuille et on les déplace en dernier dans worbooks(1)
- on active le classeur 3
- on refait la même boucle sur les sheets que pour le classeur 2
- ... et ainsi de suite jusqu'au classeur n

!!! vérifier que lorsqu'on a déplacé une feuille d'un classeur dans un autre, la variable sheets(workbooks(n).count de ce classeur ne se décrémente pas puisque son nombre de feuille a changé

J'espère t'avoir mis sur la bonne voie. Cette solution fonctionnera, même si nous sommes le 1er avril
Bye
Bertrand
 
A

andrea

Guest
Bonjour Bertrand et merci
En remplaçant par workbooks(1) ...ça fonctionne
Pour les autres instructions ,je ne suis pas assez calée mais comme mon classeur final ne doit avoir que 4 pages c'est ok
Merci encore
Andrea
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 902
Membres
103 982
dernier inscrit
krakencolas