[EXCEL] enregistrer chaque feuille de calcul dans un autre fichier

enregistrer chaque feuille de calcul dans un autre fichier [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 09-06-2008 à 12:52:23    

Bonjour,
 
Je ne sais pas si je suis dans la bonne catégorie, sinon  merci au Modérateur de me tranférer.
 
Voila je crois que mon titre est accès évocateur.
pour rappelle :
j'ai plusieurs fichiers Excel avec environ 60 feuilles de calcul chacun. Je voudrais ressortir chaque feuille de calcul pour les avoir au format PDF.
 
En ce qui concerne le PDF, j'utilise PDFcreator. (sauf si vous m'en conseillez un autre.)
mais comment faire pour imprimer chaque feuille de calcul (sans devoir faire 120 fois ou plus la même manipulation.)
 
j'ai essayé de faire une macro, mais là ca fait longtemps que je n'utilise plus ce langage, si quelqu'un pouvait me donner un coup main (ou de clavier ;) ) se serais bien aimable.
Voici la dite macro :

Code :
  1. Set appExcel = CreateObject("Excel.Application" )
  2.     appExcel.Workbooks.Open Filename:="E:\rayon inform\xx SAV\procedure_sav.xls"
  3.     Dim feuille As Object
  4.     For Each feuille In appExcel.Sheets
  5.         Workbooks.Add.SaveAs Filename:=feuille.Name + ".xls"
  6.     Next feuille


mais avec ça, je n'ai que le classeur qui est créer avec le nom correct de la feuille mais sans les données à l'intérieur .
 
Edit : topic fini, problème résolu :)
Edit 2 :Topic fermé trop vite :(


Message édité par stef_dobermann le 10-06-2008 à 12:16:37

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 09-06-2008 à 12:52:23   

Reply

Marsh Posté le 09-06-2008 à 17:49:01    

Permettez-moi de faire un UP :)
il doit bien y avoir des pro de VBA dans le forum


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 10-06-2008 à 01:05:10    

Je ferais ça, perso (dans une macro dans Excel) :

Code :
  1. Dim LeClasseur as Workbook
  2.     Dim LeChemin as String
  3.     LeChemin="E:\rayon inform\xx SAV\"     'pour enregister dans le dossier en question
  4.     Set LeClasseur=Workbooks.Open (Filename:="E:\rayon inform\xx SAV\procedure_sav.xls" )
  5.     Dim Lafeuille As WorkSheet
  6.     For Each Lafeuille In LeClasseur.Worksheets
  7.         Lafeuille.Printout ActivePrinter:="A remplacer par le nom de l'imprimante PDFCreator telle qu'elle apparaît dans Imprimantes et télécopieurs", PrintToFile:=True, PrToFileName:=LeChemin & Lafeuille.Name & ".pdf"
  8.     Next
  9.     LeClasseur.Close


Message édité par Idoine le 10-06-2008 à 01:10:57
Reply

Marsh Posté le 10-06-2008 à 02:59:32    

merci, je vais essayer ça :)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 10-06-2008 à 11:43:41    

Respect, j'ai pensé à tous sauf au plus simple.
merci pour ton aide préciseuse :jap:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 10-06-2008 à 12:16:08    

Arf, j'ai crié victoire trop vite.
 
En effet le script parcours bien le fichier et chaque feuille de calcul on voit aussi la tentative d'impression, mais le fichier généré n'est pas lisible par Adobe.


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 10-06-2008 à 12:26:15    

Bonjour
 
Il ne faut pas imprimer dans un fichier plus au format pdf... Un fichier post script avec une extension pdf, reader ou acrobat auront du mal a le lire....
 
C'est pdf creator qui va créer le fichier.
 
A toi de parametrer pdf creator pour l'autosave (Chemin de sauvegarde, construction du nom du fichier etc.)
 
Ensuite tu reprends le code de Idoine et tu enleves les infos d'impressions dans un fichier.
 
Cordialement


Message édité par SuppotDeSaTante le 10-06-2008 à 12:28:20

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 10-06-2008 à 14:01:35    

Bonjour,
 
Merci pour l'information, ça marche nickel, les PDF sont lisible.


---------------
Tout à commencé par un rêve...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed