VB6 et VBA Excel! [Résolu]

Signaler
Messages postés
27
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
28 décembre 2005
-
Messages postés
27
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
28 décembre 2005
-
Bonjour et merci d'avance a tous ceux ki me repondront!

Je voudrai piloter un fichier Excel a partir de VB afin d'automatiser l'execution d'une mise a jour de mon fichier excel.
Le code de ma mise a jour se trouve un module VBA Excel et ce code de ce module est appelé par un bouton lors de son evenement CommandButton1_Click().
J'arrive a ouvrir mon fichier Excel depuis VB mais je n'arrive pas a lancer cette procedure evenmentielle
Qq'un pourrait-il m'aider??
Merci!

7 réponses

Messages postés
19
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
13 octobre 2005

Rectification... voici la source http://www.vbfrance.com/code.aspx?ID=31964
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci

Messages postés
19
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
13 octobre 2005

Salut ! Essaye avec ça



Dim MyObjExcel
As
New
Object


MyObjExcel = CreateObject("excel.application")



'si excel deja ouvert, alors on ouvre dans la même instance



If Err.Number <> 0
Then


MyObjExcel = GetObject(, "excel.Application")


Err.Clear()



End
If



'fin excel deja ouvert


MyObjExcel.Workbooks.Add (VB6.GetPath & "\imcmdoc.xlt") 'Charge le modele excel (il faut mettre l'emplacement exacte du fichier)


MyObjExcel.application.run ("Net_Open") ' Te permet de lancer la macro situé dans ton modele excel



''MyObjExcel.Workbooks.Open(MonDoc)


MyObjExcel.Visible =
True


MyObjExcel =
Nothing
Messages postés
27
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
28 décembre 2005
1
Merci beaucoup c nikel pour l'appel des macros

Est-ce que par hazar du saurais comment enregistrer un fichier .xls au format .csv (séparé par des ";")?

mon code est le suivant :

Set ApExcel = CreateObject("excel.application")
With ApExcel
.Visible = True
.workbooks.Open FileName
.application.run ("DebutMaj")
.displayalerts = False
FileName = App.Path & "\NomDuFichier.csv"
.ActiveSheet.SaveAs FileName:=FileName , FileFormat:=xlCSVWindows
.ActiveWorkbook.Close
.quit
End With
Set AppExcel = Nothing

Le paramètre FileFormat n'a pa l'air de fonctionner sous VB

Merci!!
Messages postés
19
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
13 octobre 2005

Tu ne peux pas utiliser la methode saveas pour activesheet, VB ne comprends pas cela. ce qu'il te faut c'est sauver le classeur entier (activeworkbook) si ça ne te va pas fait simplement une macro dans excel qui permet d'enregistrer et appel cette macros soit a la fermeture du fichier soit par un bouton soit a la suite de ta macro DEBUTMAJ

Bonne continuation

Set ApExcel = CreateObject("excel.application")
With ApExcel
.Visible = True
.workbooks.Open FileName.workbooks.Open FileName
.Application.run ("DebutMaj")
.displayalerts = False
FileName = App.Path & "\NomDuFichier.csv"
.ActiveWorkbook.SaveAs FileName, xlCSVWindows
.ActiveWorkbook.Close
.quit
End With
Set AppExcel = Nothing


End Sub
Messages postés
27
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
28 décembre 2005
1
J'ai essayer aussi avec l'enregistrement de l'ActiveWorkBook
Et j'obtient un probleme bcp plus 'vicieux'
=>si j'utilise la methode SaveAs a partir de VB, mon programme par en erreur et ne maffiche pas de message spécifique
=>si j'utilise la methode SaveAs a partir d'une macro Excel, l'application Excel plante et me donne le message suivant : "erreur d'execution '1004' La methode 'SaveAs' de l'objet '_WorkBook' a échoué"
Par contre si j'execute ma macro d'enregistrement par le debogeur de VBA , l'instruction passe mais a la fermeture du fichier ,excel m'affiche 2 messages d'avertissement concernant l'enregistrement des fichier .xls en .csv(séparé par des point-virgule)

Si tu a la reponse a ce probleme, t vraiment un BOSS!!
Merci
Messages postés
19
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
13 octobre 2005

Je viens de tester avec VB6 tout ce que je t'ai dit et tout fonctionne. Je vais mettre cette "source" en téléchargement tu pourras la récuperer et voir ce qui ne vas pas chez toi. Pour moi tout fonctionne sans problème.
Messages postés
27
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
28 décembre 2005
1
Merci pour tout c nikel!!

@ +!