Exportation d'1 fichier vers plusieurs fichiers?

Bonjour,

Voila mon souci.

J'ai un fichier Excel contenant plusieurs "feuilles".

Les noms de ces feuilles sont: Ag1, Ag2, Ag3 ...

Je souhaite pouvoir exporter chaque feuille vers un fichier Excel (ou même mieux PDF si possible) automatiquement,

et que chacun de ces fichiers exporté porte le nom de la feuille.

Est ce possible?

Merci d'avance pour votre aide

Ronan

Bonjour,

Ce code à saisir dans un module de ton classeur :

Sub Macro1()
    For i = 1 To Sheets.Count
        'Sheets(i).Select
        Sheets(i).Copy 'Copie en créant un nouveau classeur
        ActiveWorkbook.SaveAs Filename:="C:\Users\Desktop\" & ActiveSheet.Name & ".xls", _
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
        ActiveWindow.Close
    Next
End Sub

Il faudra changer le chemin d'enregistrement avec celui que tu veux.

A+

Merci je vais essayer ça.

Et pour le chemein de création, comment peut-on faire pour que ça soit le répertoire du fichiers Excel source?

Encore merci

Ronan

-- Ven Nov 26, 2010 11:34 am --

et comment peut on affiner le nom des fichiers exporter?

(je souhaiterai que dans le nom, on puisse faire référence à une cellule d'une feuille précise)

Merci d'avance

Ronan

Re,

Pour enregistrer dans le même chemin il faut utiliser ActiveWorkbook.Path

ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".xls", _
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False

Pour la cellule il faudrait savoir laquelle ?

En plus si elle contient une date il faudra la formater car un fichier ne peut pas s'appeller "Ag1 26/11/2010.xls".

A+

Encore merci pour votre réponse. Je vais essayer ça.

Pour la cellule,

disons la valeur de la cellule AA1 de la feuille nomée INFOS

Bonjour,

J'ai stocké le contenu de la cellule AA1 de la feuille INFOS dans une variable Nom que j'utilise lors de l'enregistrement. Tu peux choisir de mettre cette variable avant ou après le nom de l'onglet et aussi y ajouter un autre texte en ajoutant ...& " Texte " &...

Comme cette feuille INFOS sera dans le classeur elle sera donc copiée aussi puisqu'on prend toutes les feuilles. Si tu la mets en dernier on peut ne pas la copier en mettant 1 To Sheets.Count -1.

Sub Macro1()
    Nom = Sheets("INFOS").Range("AA1").Value
    For i = 1 To Sheets.Count
        Sheets(i).Select
       Sheets(1).Copy 'Copie en créant un nouveau classeur
       ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & Nom & " " & ActiveSheet.Name & ".xls", _
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
       ActiveWindow.Close
    Next
End Sub

A+

Encore merci, je vais essayer ça tout à l'heure et je vous tiens au courant.

J'ai pu essayer le code pour enregistrer dans le dossier du fichier, mais cela ne semble pas fonctionner.

L'enregistrement se fait dans "mes documents". Or je souhaiterais que les fichiers s'enregistrent dans le dossier dans lequel est stocké le fichier sur lequel je travaille.

2 autres questions:

  • comme puis je éviter qu'Excel me pose la question sur la compatibilité au moment où je lance ma MACRO?
  • est ce possible plutôt que d'obtenir des fichiers EXCEL en sorti, j'obtiennne des PDF?

merci pour votre aide

Ronan

Rechercher des sujets similaires à "exportation fichier fichiers"