Sauvegarde Classeur Excel dans un VBS

Sauvegarde Classeur Excel dans un VBS - VB/VBA/VBS - Programmation

Marsh Posté le 03-09-2005 à 00:17:09    

Bonjour,
 
J'ai besoin d'aide sur un point.
 
Je veux sauvegarder un classeur Excel créé par mon VBS, mais celui ci ne me sauvegarde que le dernier onglet écrit :
 
J'ai essayer plusieurs méthodes, mais sans succès !
 
appXL.application.Sheets(Array("ALL","MALAKOFF","MEDERIC","AUTRE", "SI2M" )).Select
'Afin de selectionner tout les onglets
 
1ère méthode :
appXL.Application.ActiveWorkbook.SaveAs "MonFichier " & Date & ".xls"
' Là ca ne me sauvegarde que le dernier onglet écrit ( L'onglet porte le nom du fichier au passage ! ) C'est pas cool mais ça sauve bien !
 
 
2ème méthode :
appXL.Application.Workspace.GetSaveAsFilename "MonFichier " & Date ,"*.xls"
'Microsoft Office Excel: La méthode GetSaveAsFilename de la classe Application a échoué
Génial mais j'en fais quoi moi de cette erreur !
 
 
3ème méthode :
 
appXL.Application.SaveWorkspace "C:\MonFichier " & Date & ".xls"
' Là j'ai l'ouverture d'une boite de dialogue Excel Enregistrer sous...
Pas cool pour un automatisme ! Sinon c'est sur là j'ai tout !
 
 
Est ce que quelqu'un aurait une petite idée de comment enregistrer tout les ongets ( Avec leurs vrai noms le tout sous MonFichier " & Date & ".XLS ????
 
Pour le moment j'utilise la première méthode, mais j'ai 5 fichiers à chaque fois !
Si je pouvais les avoir dans un seul fichier ça m'irai beaucoup mieux !
 
Merci pour vos réponses car là je planche carement !
 
Fred
 
Ps : Au passage si quelqu'un à besoin de taper dans des bases de données Access ou SQL, no problème je sais comment ça mache !

Reply

Marsh Posté le 03-09-2005 à 00:17:09   

Reply

Marsh Posté le 10-09-2005 à 12:03:09    

A ce que je vois c'est que personne n'a de solution ....
Moi toujours pas d'ailleurs, donc si je trouve, d'autres seront peut être intéressés....
 

Reply

Marsh Posté le 11-09-2005 à 18:46:18    

Je suis tout juste débutant en VBS mais j'ai ecris un petit script qui ecrit dans un fichier Excel la semaine dernière. Je n'utilise qu'un onglet mais pour fermer mon fichier c'est tout simple. Voici les lignes principales :
 
Set objExcel = CreateObject("Excel.Application" )
Set objWorkbook = objExcel.Workbooks.Open("c:\toto.xls" )
objExcel.Cells(1, 1) = "Bonjour"
objWorkbook.Close(True)
 
Et voila.
Je ne suis pas certain que cela puisse t'aider, mais au cas où ....
 
Tom

Reply

Marsh Posté le 11-09-2005 à 19:12:01    

Toutes les manières sont bonnes à essayer de toute façon... Alors je vais faire des tests...
Je ne peux pas mettre toutes mes ligne de code car avec 921 lignes...

Reply

Marsh Posté le 25-09-2005 à 11:46:14    

Bon j'ai trouvé le problème... Et pas sans mal !
 
Pour info mon problème venait que lors de la création du fichier Excel via :
Set appXL = WScript.CreateObject("Excel.Application" )
Set fso   = WScript.CreateObject("Scripting.FileSystemObject" )
Set ObjFile = fso.createtextFile("C:\FileNameOut.xls" )
 
Excel ne créé pas les onglets par défault Feuil1...Feuil2.. Etc comme à l'ouverture d'un nouveau fichier Excel...
A priori certains paramètres ne sont pas pris en compte lors de la création de fichier en VBS.
 
Si quelqu'un en connait la cause, j'aimerais bien comprendre !
 
En créant un fichier Classeur1.xls avec excel et en ouvrant celui-ci dans le VBS puis en le renomant comme on le souhaite, le problème ne se pose plus lors de l'enregistrement... Tout est bien sauvegardé.
 
Fred

Reply

Sujets relatifs:

Leave a Replay

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