OVH Cloud OVH Cloud

Liason VB6 - Excel

6 réponses
Avatar
TOF
Bonjour,

Je débute sur VB6 et je cherche desespéremment à faire une liason en tre VB6
et Excel. J'ai trouvé des tas d'exemples sur le net ... mais je n'arrive pas
à les faire tourner. Alors après divers erreurs du style il manque le
composant etc etc ... j'ai dorénavant un message d'erreur assez curieux !!

La méthode 'Sheets' de l'objet '_Global' a échoué.

Alors moi je veux bien que ça échoue .... mais je ne trouve nulle part trace
d'un objet '_Global' dans mon code :


Dim FICHDEST As String

FICHDEST = "I:\Grpdata\GFCP\CONTROLE\Automate\OLETest.xls"
'Open the ADO connection to the Excel workbook
Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & FICHDEST & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX=2;"""

'Add values to individual cells
With Sheets("test").Range("A1")
.Value = "coucou"
End With


'Close the connection
oConn.Close

'Open the workbook to examine the results
DoEvents
Workbooks.Open FICHDEST

Si quelqu'un a une idée de pouquoi j'ai ce message ?

Par avance merci.

6 réponses

Avatar
Jacques93
Bonjour TOF,
TOF a écrit :
Bonjour,

Je débute sur VB6 et je cherche desespéremment à faire une liason en tre VB6
et Excel. J'ai trouvé des tas d'exemples sur le net ... mais je n'arrive pas
à les faire tourner. Alors après divers erreurs du style il manque le
composant etc etc ... j'ai dorénavant un message d'erreur assez curieux !!

La méthode 'Sheets' de l'objet '_Global' a échoué.

Alors moi je veux bien que ça échoue .... mais je ne trouve nulle part trace
d'un objet '_Global' dans mon code :


Dim FICHDEST As String

FICHDEST = "I:GrpdataGFCPCONTROLEAutomateOLETest.xls"
'Open the ADO connection to the Excel workbook
Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & FICHDEST & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX=2;"""

'Add values to individual cells
With Sheets("test").Range("A1")
.Value = "coucou"
End With


'Close the connection
oConn.Close

'Open the workbook to examine the results
DoEvents
Workbooks.Open FICHDEST




Quel interêt as tu d'utiliser un objet ADODB.Connexion, plutot que
Excel.Application ?

--
Cordialement,

Jacques.
Avatar
TOF
Ben aucun .... comme je disais j'ai juste recopié des codes que j'ai trouvé
sur le net.
Si tu as un exemple avec Excel.Application qui marche , je suis preneur.
La méthode pour y arriver m'importe peu en fait , j'aimerais juste en
trouver une qui fonctionne bien sans message d'erreur !!!

Quel interêt as tu d'utiliser un objet ADODB.Connexion, plutot que
Excel.Application ?

--
Cordialement,

Jacques.



Avatar
Jacques93
TOF a écrit :
Ben aucun .... comme je disais j'ai juste recopié des codes que j'ai trouvé
sur le net.
Si tu as un exemple avec Excel.Application qui marche , je suis preneur.
La méthode pour y arriver m'importe peu en fait , j'aimerais juste en
trouver une qui fonctionne bien sans message d'erreur !!!




En premier tu ajoutes une référence à Excel :

Projet => Références => Microsoft Excel xx.0 Object Library

où xx correspond à la version (2003 = 11)

ensuite :

Private Sub Command1_Click()
Dim Excl As Excel.Application
Dim NewBook As Excel.Workbook

' Création d'une instance d'Excel
Set Excl = New Excel.Application
' la rends visible
Excl.Visible = True
' crée un classeur vide
Set NewBook = Excl.Workbooks.Add
' renseigne la cellule A1 de la feuille 1
Excl.Sheets("Feuil1").Range("A1").Value = "Coucou"
' Sauvegarde le classeur
NewBook.SaveAs "Toto.xls"
' Ferme le classeur
Excl.Workbooks.Close
' Rouvre le classeur
Excl.Workbooks.Open ("toto.xls")
End Sub


Pour fermer Excel après avoir enregistré le classeur :

Excl.Quit

--

Cordialement,

Jacques.
Avatar
TOF
Ha ben ça c'est cool !
Un exemple très simple qui marche tout de suite sans le moindre message
d'erreur ... ça fait plaisir à voir.
Bon ben je vais partir de ça et essayer de broder pour aller plus loin que
d'écrire "coucou" !!!!!

Que dire de plus que merci .... MERCI !!!
Avatar
TOF
Et bien ç yest ... je colle autre chose que "coucou" dans Excel depuis VB6 !!
J'y met tout le résultat d'une requete access lancé depuis VB6. Bref un
bouton qui me fait tout !
J'adore !!
Merci beaucoup Jacques93.

"TOF" a écrit :

Ha ben ça c'est cool !
Un exemple très simple qui marche tout de suite sans le moindre message
d'erreur ... ça fait plaisir à voir.
Bon ben je vais partir de ça et essayer de broder pour aller plus loin que
d'écrire "coucou" !!!!!

Que dire de plus que merci .... MERCI !!!


Avatar
Jacques93
Bonjour TOF,
TOF a écrit :
Et bien ç yest ... je colle autre chose que "coucou" dans Excel depuis VB6 !!
J'y met tout le résultat d'une requete access lancé depuis VB6. Bref un
bouton qui me fait tout !
J'adore !!
Merci beaucoup Jacques93.



Content pour toi :-)
--
Cordialement,

Jacques.