Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eclater plusieurs onglets en plusieurs fichiers dédiés

31 views
Skip to first unread message

anthooooony

unread,
Feb 1, 2012, 7:59:29 AM2/1/12
to
Bonjour,

J'ai un fichier avec beaucoup d'onglet.
Je souhaiterais orienter chaque onglet vers des fichiers déterminés.

Exemple de mon fichier excel, ci dessous les titres de mes onglets:
Onglet1, Onglet2, Onglet3,Feuil1,Feuil2,Feuil3,Paris,Marseille, Pau, Bordeaux

Onglet1, Onglet2, Onglet3 vers C:\fichier onglet.xls
Feuil1,Feuil2,Feuil3 vers C:\fichier feuil.xls
paris,marseille, pau, bordeaux vers C:\fichier ville.xls

Pouvez vous m'orienter, guider, aider?

Merci d'avance
cdt
anthooooony

Jacquouille

unread,
Feb 1, 2012, 8:50:44 AM2/1/12
to
Bonjour
Le plus simple, c'est de faire x copies du fichier.
Dans chaque copie, supprimer les onglets non désirés. (pour sélectionner
plusieurs onglets, CTRL + clic sur onglet)
Ensuite, renommer les fichiers.


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"anthooooony" a écrit dans le message de groupe de discussion :
n4qdna-vC-y...@giganews.com...

MichD

unread,
Feb 1, 2012, 9:07:37 AM2/1/12
to
Bonjour,

En VBA,

La procédure copie les onglets vers un nouveau classeur que tu enregistres dans le chemin avec le nom que tu as désigné pour
chacun des groupes.

'-----------------------------------------
Sub test()

Sheets(Array("Onglet1","Onglet2","Onglet3")).copy
activeworkbook.saveAs "C:\fichier onglet.xls"
ActiveWorkbook.Close False

Sheets(Array("Feuil1","Feuil2","Feuil3")).copy
ActiveWorkbook.SaveAs "C:\fichier feuil.xls"
ActiveWorkbook.Close False

End Sub
'-----------------------------------------

MichD
------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4f294336$0$5044$ba62...@news.skynet.be...

anthooooony

unread,
Feb 1, 2012, 9:16:52 AM2/1/12
to
Bonjour Jacquouille,

Je sais que je peux le faire manuellement.
Mais j'espere pouvoir l'automatiser car j'ai 100 onglets à rediriger vers 30
fichiers.
Ce qui voudrait dire démultiplier 30 fois le doc, et à la main enlever a chaque
fois les onglets que je dois ne pas laisser apparaitre.
C'est long et source d'erreur pour quelqu'un détourdi comme moi !

Jacquouille

unread,
Feb 1, 2012, 10:05:46 AM2/1/12
to
Bonjour

Ma solution (issue de chez Brico) se veut pour les simples, comme moi.
Denis vient de te donner une solution d'expert.
Tu as le choix, mais entre tes deux msg, il y a une paire d'heures.....qui
auraient suffi.
chacun son choix. -))
Bonne fin de journée.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"anthooooony" a écrit dans le message de groupe de discussion :
8_6dnQzY9LH...@giganews.com...

MichD

unread,
Feb 1, 2012, 11:51:15 AM2/1/12
to
Une autre approche :

Tri des feuilles à copier selon les 3 premières lettres du nom de leur onglet.
Tu peux ajouter autant de "Case" que tu désires...

Exemple : FEU , ONG , TAB
'-----------------------------------------
Sub test()
Dim T(), S(), P()
Dim B As Integer, A As Integer
Dim C As Integer, D As Integer

For A = 1 To Sheets.Count
Nom = Sheets(A).Name
Select Case UCase(Left(Trim(Nom), 3))
Case Is = "FEU"
B = B + 1
ReDim Preserve T(1 To B)
T(B) = Nom

Case Is = "ONG"
C = C + 1
ReDim Preserve S(1 To C)
S(C) = Nom

Case Is = "TAB"
D = D + 1
ReDim Preserve P(1 To D)
P(D) = Nom
End Select
Next
'-----------------------------------------
On Error Resume Next
Sheets(T).Copy
ActiveWorkbook.SaveAs "c:\Feu.xls"
ActiveWorkbook.Close False


Sheets(S).Copy
ActiveWorkbook.SaveAs "c:\Ong.xls"
ActiveWorkbook.Close False

Sheets(P).Copy
ActiveWorkbook.SaveAs "c:\Tab.xls"
ActiveWorkbook.Close False

End Sub



MichD
------------------------------------------
"anthooooony" a écrit dans le message de groupe de discussion : 8_6dnQzY9LH...@giganews.com...

0 new messages