forum_ma
Messages postés112Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention31 juillet 2006
-
12 avril 2006 à 15:59
forum_ma
Messages postés112Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention31 juillet 2006
-
12 avril 2006 à 19:23
Bonjour tlm!
J'ai un petit probleme avec VB6 et Excel... Mon programme prend des data pour les mettres dans excel, jusque la pas de probleme... Mon probleme est lorsque je veux fermer le fichier, il me demande touojurs : Voulez-vous réellement sauvegarder?. Il ne faudrait pas qu'il me demande sa et qu'il sauvegarde automatique.. Je ne suis pas certains si cela est possible... Voici mon codes :
'Chemin du fichier a modifier à chaque installation
Dim repertoire As String
repertoire = "C:\fichier.xls"
'Ouverture de l'application
Set appexcel = New Excel.Application
'Gestion du fichier et ouverture statique
appexcel.Workbooks.Open repertoire
'Visualisation en fond d'ecran la page excel
appexcel.Visible = False
*** ICI JE RENTRE LES DATAS ***
'Fermer le fichier excel
appexcel.Workbooks.Close
'MON PROBLÈME EST ICI
Je cherche donc une facon de fermer mon fichier sans qu'il me pose la question, ou en pouvant répondre automatiquement a la question...
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 12 avril 2006 à 17:21
Excuse moi, j'ai répondu trop vite :
le "appexcel.Workbooks.Close" n'a pas d'arguments.
Si tu l'utilises comme ça, il va fermer tous les fichiers Excels ouverts.
Je pense que la manière la plus propre est d'affecter un objet de type Classeur à chaque fichier que tu ouvres :
Dim l_WorkBook as Object 'As WorkBook si tu as mis Excel dans les références de ton projet)
Set l_WorkBook = appexcel.Workbooks.Open (repertoire)
...
'Exemple d'utilisation de l_Workbook : Remplit la cellule A1
l_Workbook.WorkSheets("Feuil1").Range("A1").Value = "toto"
...
'Fermet le classeur
Call l_WorkBook.Close(True)
'Quitte Excel
appexcel.Quit
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 12 avril 2006 à 16:08
Salut,
Il faut passer le paramètre True à la fonction Close pour qu'il force l'enregistrement. (Pour info : avec False, il ferme sans enregistrer)
Call appexcel.Workbooks.Close(True)
forum_ma
Messages postés112Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention31 juillet 2006 12 avril 2006 à 19:16
Sa marche mais j'ai un petit probleme... Je dois presque absolument traiter les cases avec (1,1) au lieu de "A1" Parce que j'ai a peu pres 3000 lignes de data et environs 20 colonnes de data... Faque sa va bcps mieu gerer avec (1,1) comme je fesais au début.. Mais bon j'va essayer de regarder sa, mais si tu sais comment faire gene toi pas ;)
Merci bcps!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
forum_ma
Messages postés112Date d'inscriptionsamedi 16 octobre 2004StatutMembreDernière intervention31 juillet 2006 12 avril 2006 à 19:23
Juste pour etre certain que si quelqu'un retombe sur le sujet, qu'il comprenne bien voici le résultat final :
'Chemin du fichier a modifier à chaque installation
Dim repertoire As String
repertoire = "C:\fichier.xls"
'Ouverture de l'application
Set appexcel = New Excel.Application
Dim l_WorkBook As Workbook 'si tu as mis Excel dans les références de ton projet)
Set l_WorkBook = appexcel.Workbooks.Open(repertoire)
'Visualisation en fond d'ecran la page excel
appexcel.Visible = False
'TRAITER DATA ICI
l_WorkBook.Worksheets(1).Cells(1, 1).Value = "Cycle number" 'un exemple
'Fermet le classeur
Call l_WorkBook.Close(True)
'Quitte Excel
appexcel.Quit
Voila Il faut que le fichier existe et que la référence pour "Microsft Excel X.0 Object Library" soit sélectionné