VB6 et VBA Excel!

Résolu
kevinscherrens Messages postés 27 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 28 décembre 2005 - 10 juin 2005 à 09:03
kevinscherrens Messages postés 27 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 28 décembre 2005 - 13 juin 2005 à 10:51
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

cs_majstor Messages postés 19 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 13 octobre 2005
10 juin 2005 à 18:17
Rectification... voici la source http://www.vbfrance.com/code.aspx?ID=31964
3
cs_majstor Messages postés 19 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 13 octobre 2005
10 juin 2005 à 11:29
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
0
kevinscherrens Messages postés 27 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 28 décembre 2005 1
10 juin 2005 à 16:36
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!!
0
cs_majstor Messages postés 19 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 13 octobre 2005
10 juin 2005 à 17:08
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kevinscherrens Messages postés 27 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 28 décembre 2005 1
10 juin 2005 à 17:19
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
0
cs_majstor Messages postés 19 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 13 octobre 2005
10 juin 2005 à 18:07
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.
0
kevinscherrens Messages postés 27 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 28 décembre 2005 1
13 juin 2005 à 10:51
Merci pour tout c nikel!!

@ +!
0
Rejoignez-nous