Sauvegarder un fichier excel

Résolu
sourrisseau
Messages postés
30
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
12 mars 2013
- 28 déc. 2005 à 16:44
sourrisseau
Messages postés
30
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
12 mars 2013
- 28 déc. 2005 à 17:49
Salut !!!!

J'ai envoyé cette question vers 15 h 00 mais elle a disparue du forum !!!!

Bonne fetes a chacun !!!!

Je programme en VB6 et j'utilise excel pour stocké des données . J'arrive tres bien a les rentrer par programmation . par exemple : xl.Worksheets(1).Cells(X, 6).Value = ac.nom

Je verifie que tout cela a été rentré sur la feuille excel ( et c'est bien le cas ) . Mais si je ne sauve pas manuellement les données ( au moment de la fermeture d'excel , excel me demande si je veux enregistrer les modifications ) je perd toutes mes données !!!!

Voila je voudrais donc savoir comment sauvegarder mes données par programmation .

Merci d'avance !!!

Fabrice

3 réponses

Simouss33
Messages postés
85
Date d'inscription
jeudi 17 novembre 2005
Statut
Membre
Dernière intervention
15 février 2006
2
28 déc. 2005 à 17:20
Essaie une de ces commandes:
ActiveWorkbook.Save (sauvegarde directe)

ou

ActiveWorkbook.SaveAs Filename:= _
"C:\...\Classeur1.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

pour sauvegarder sous ...
3
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
28 déc. 2005 à 17:23
Salut et encore mes excuses pour la suppression accidentelle de ta question.

Pour Excel, les choses sont assez simple : Il suffit d'enregistrer une macro (menu "Outils", "Macro", "Nouvelle macro" puis Ok) dans laquelle tu vas faire la sauvegarde manuellement, puis tu stoppes l'enregistrement et tu vas voir ce qu'il y a écrit dans cette macro.
Il te suffit alors de copier ces lignes et de les copier sous VB6 en aménageant les noms des WorkSheets, et le tour est joué.
En gros, tu vas récupérer ça :
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Jack\Mes documents\Classeur1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Voilà le code permettant de sauver tes données par programmation.
Bien sur, tu pourras aménager le répertoire et le nom du fichier avec les variables de ton appli.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
sourrisseau
Messages postés
30
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
12 mars 2013

28 déc. 2005 à 17:49
Merci !!!

Merci de vos reponses !!!! J'ai fini par trouver egalement une solution . 624947 Simouss33 ta reponse est exact . J'avais fait une erreur en definnissant xl ( dans xl.Worksheets(1).Cells(X, 6).Value = ac.nom ) comme un excel.workbook ( public xl as excel.workbook ) . Pour proceder comme tu le fais a la sauvegarde je dois definir xl comme un objet ( public xl as object ...... et plus loin Set xl = CreateObject("excel.application") . Ainsi je peux procede a la sauvegarde de la maniere suivante :
xl.Application.ActiveWorkbook.Save

jack merci de ta reponse je la testerai tout a l'heure mais c'est vrai que de tester les macros directement sur excel pour recuperer le code c'est excellent . Pour la suppression accidentelle de ma premiere question c'est noel et tu me fais un beau cadeau avec ta reponse . Mes meilleurs voeux ainsi qu'a Simouss33 !!!

Merci encore et bonnes fetes !
3