Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec Excell et VB

5 réponses
Avatar
JCM
Bonjour

Je voudrais afficher les données de la feuille d'un classeur Excell existant
dans un MSFlexgrid et là j'ai un beug : la feuille est introuvable, et
pourtant elle existe
Par contre si c'est un classeur créé et rempli par l'appli cela fonctionne
Pouvez-vous me dire ou est l'erreur
voici mon code :

le chemin du classeur est donné par un commandDialog :
strFileNameExcel = CmdLgMain.fileName

ensuite la feuille est donnée par un affichage dans un combo:

Private Sub CboFeuillesEX_Click()
'feuille sélectionnée
LafeuilleEX = CboFeuillesEX.Text
'Vérifie que la connexion est bien fermée
If ADOcnExcel.state = adStateOpen Then
ADOcnExcel.Close
End If
Set ADOcnExcel = Nothing

Call MyFonctions.InitConnectionExcell
Call ExecSQLExcell("select * from " & LafeuilleEX, ADOrstExcell, ADOcnExcel)

'remplissage de MSExcell
laligne = 0
Do Until ADOrstExcell.EOF
laligne% = laligne + 1
MSExcell.FixedAlignment(1) = 4
MSExcell.Rows = laligne + 1
MSExcell.Row = laligne
MSExcell.col = 0
MSExcell.Text = ADOrstExcell("ZONE")
etc...............
ADOrstExcell.MoveNext
Loop
End Sub

J'espere beaucoup sur vos réponses car je n'arrive pas a sortir de cette
galere
Cordialement
JCM

5 réponses

Avatar
Quasimodo
JCM brought next idea :
Bonjour

Je voudrais afficher les données de la feuille d'un classeur Excell existant
dans un MSFlexgrid et là j'ai un beug : la feuille est introuvable, et
pourtant elle existe
Par contre si c'est un classeur créé et rempli par l'appli cela fonctionne
Pouvez-vous me dire ou est l'erreur
voici mon code :

le chemin du classeur est donné par un commandDialog :
strFileNameExcel = CmdLgMain.fileName

ensuite la feuille est donnée par un affichage dans un combo:

Private Sub CboFeuillesEX_Click()
'feuille sélectionnée
LafeuilleEX = CboFeuillesEX.Text
'Vérifie que la connexion est bien fermée
If ADOcnExcel.state = adStateOpen Then
ADOcnExcel.Close
End If
Set ADOcnExcel = Nothing

Call MyFonctions.InitConnectionExcell
Call ExecSQLExcell("select * from " & LafeuilleEX, ADOrstExcell, ADOcnExcel)

'remplissage de MSExcell
laligne = 0
Do Until ADOrstExcell.EOF
laligne% = laligne + 1
MSExcell.FixedAlignment(1) = 4
MSExcell.Rows = laligne + 1
MSExcell.Row = laligne
MSExcell.col = 0
MSExcell.Text = ADOrstExcell("ZONE")
etc...............
ADOrstExcell.MoveNext
Loop
End Sub

J'espere beaucoup sur vos réponses car je n'arrive pas a sortir de cette
galere
Cordialement
JCM


Bonjour,
Avez-vous trouver une solution à votre problème du 18/11/2004 <<Suite
Quasimodo>> : problème d'ouverture de classeur?
Pour ce qui est de votre problème courrant, pouvez-vous distinguer les
deux cas de figures:
1.L'ouverture de vos connections au fichiers Excell sans remplissage
fonctionnent elles, quelque soit la manière?
2.Si la question de l'ouverture est réglée. Existe t'il une partie de
code différentes suivant que vous lisez un fichier existant ou non,
pour le remplissage du grid?

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
Bonjour et merci de bien vouloir me répondre

Avez-vous trouver une solution à votre problème du 18/11/2004 <<Suite
Quasimodo>> : problème d'ouverture de classeur?
Non je n'ai pas trouver de solution, c'est pourquoi j'essaie cette nouvelle
procédure

Pour ce qui est de mon problème courrant :
1.L'ouverture de vos connections au fichiers Excell sans remplissage


fonctionnent elles, quelque soit la manière?

Oui la connection au fichier excell fonctionne que ce soit sur un fichier
existant ou créé par la procédure

Cela beug uniquement sur la ligne :
Call ExecSQLExcell("select * from " & LafeuilleEX, ADOrstExcell, ADOcnExcel)
quand il s'agit d'un fichier existant.

2.Si la question de l'ouverture est réglée. Existe t'il une partie de code
différentes suivant que vous lisez un fichier existant ou non, pour le
remplissage du grid?

Non c'est le meme code

Encore merci de votre aide
Cordialement
JCM

"Quasimodo" a écrit dans le message de
news:
JCM brought next idea :
> Bonjour
>
> Je voudrais afficher les données de la feuille d'un classeur Excell


existant
> dans un MSFlexgrid et là j'ai un beug : la feuille est introuvable, et
> pourtant elle existe
> Par contre si c'est un classeur créé et rempli par l'appli cela


fonctionne
> Pouvez-vous me dire ou est l'erreur
> voici mon code :
>
> le chemin du classeur est donné par un commandDialog :
> strFileNameExcel = CmdLgMain.fileName
>
> ensuite la feuille est donnée par un affichage dans un combo:
>
> Private Sub CboFeuillesEX_Click()
> 'feuille sélectionnée
> LafeuilleEX = CboFeuillesEX.Text
> 'Vérifie que la connexion est bien fermée
> If ADOcnExcel.state = adStateOpen Then
> ADOcnExcel.Close
> End If
> Set ADOcnExcel = Nothing
>
> Call MyFonctions.InitConnectionExcell
> Call ExecSQLExcell("select * from " & LafeuilleEX, ADOrstExcell,


ADOcnExcel)
>
> 'remplissage de MSExcell
> laligne = 0
> Do Until ADOrstExcell.EOF
> laligne% = laligne + 1
> MSExcell.FixedAlignment(1) = 4
> MSExcell.Rows = laligne + 1
> MSExcell.Row = laligne
> MSExcell.col = 0
> MSExcell.Text = ADOrstExcell("ZONE")
> etc...............
> ADOrstExcell.MoveNext
> Loop
> End Sub
>
> J'espere beaucoup sur vos réponses car je n'arrive pas a sortir de cette
> galere
> Cordialement
> JCM
Bonjour,
Avez-vous trouver une solution à votre problème du 18/11/2004 <<Suite
Quasimodo>> : problème d'ouverture de classeur?
Pour ce qui est de votre problème courrant, pouvez-vous distinguer les
deux cas de figures:
1.L'ouverture de vos connections au fichiers Excell sans remplissage
fonctionnent elles, quelque soit la manière?
2.Si la question de l'ouverture est réglée. Existe t'il une partie de
code différentes suivant que vous lisez un fichier existant ou non,
pour le remplissage du grid?

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
JCM
Re bonjour

j'ai oublié de vous indiquer le message d'erreur :

le moteur de BD microsoftJet n'a pas pu trouver l'objet 'LAZONE'

JCM
"Quasimodo" a écrit dans le message de
news:
JCM brought next idea :
> Bonjour
>
> Je voudrais afficher les données de la feuille d'un classeur Excell


existant
> dans un MSFlexgrid et là j'ai un beug : la feuille est introuvable, et
> pourtant elle existe
> Par contre si c'est un classeur créé et rempli par l'appli cela


fonctionne
> Pouvez-vous me dire ou est l'erreur
> voici mon code :
>
> le chemin du classeur est donné par un commandDialog :
> strFileNameExcel = CmdLgMain.fileName
>
> ensuite la feuille est donnée par un affichage dans un combo:
>
> Private Sub CboFeuillesEX_Click()
> 'feuille sélectionnée
> LafeuilleEX = CboFeuillesEX.Text
> 'Vérifie que la connexion est bien fermée
> If ADOcnExcel.state = adStateOpen Then
> ADOcnExcel.Close
> End If
> Set ADOcnExcel = Nothing
>
> Call MyFonctions.InitConnectionExcell
> Call ExecSQLExcell("select * from " & LafeuilleEX, ADOrstExcell,


ADOcnExcel)
>
> 'remplissage de MSExcell
> laligne = 0
> Do Until ADOrstExcell.EOF
> laligne% = laligne + 1
> MSExcell.FixedAlignment(1) = 4
> MSExcell.Rows = laligne + 1
> MSExcell.Row = laligne
> MSExcell.col = 0
> MSExcell.Text = ADOrstExcell("ZONE")
> etc...............
> ADOrstExcell.MoveNext
> Loop
> End Sub
>
> J'espere beaucoup sur vos réponses car je n'arrive pas a sortir de cette
> galere
> Cordialement
> JCM
Bonjour,
Avez-vous trouver une solution à votre problème du 18/11/2004 <<Suite
Quasimodo>> : problème d'ouverture de classeur?
Pour ce qui est de votre problème courrant, pouvez-vous distinguer les
deux cas de figures:
1.L'ouverture de vos connections au fichiers Excell sans remplissage
fonctionnent elles, quelque soit la manière?
2.Si la question de l'ouverture est réglée. Existe t'il une partie de
code différentes suivant que vous lisez un fichier existant ou non,
pour le remplissage du grid?

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
Quasimodo
JCM submitted this idea :
ExecSQLExcell



re,
pouvez-vous explicité votre fonction : ExecSQLExcell

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
re bonjour

Ma fonction : ExecSQLExcell

Public Function ExecSQLExcell(MySqlExcell As String, ByRef ADOrstExcell As
ADODB.Recordset, ByRef ADOcnExcel As ADODB.Connection) As Boolean
'Initialisation du RecordSet
If ADOrstExcell.state <> adStateClosed Then ADOrstExcell.Close
'Ouvre une transaction pour ne pas à avoir à réaliser de commit en fin
de traitement
ADOcnExcel.BeginTrans
'Positionne le curseur côté client
ADOrstExcell.CursorLocation = adUseClient
'Vérifie que la connexion passée est bonne
Set ADOrstExcell.ActiveConnection = ADOcnExcel
On Error GoTo ErrHandle
'Exécute la requête
ADOrstExcell.Open MySqlExcell, ADOcnExcel
'Valide la transaction
ADOcnExcel.CommitTrans
ExecSQLExcell = True
Exit Function
ErrHandle:
ExecSQLExcell = False
MsgBox "ADOManager.ExecSQL:ErrHandle" & vbCr & vbCr & Err.Description,
vbCritical
End Function

Cordialement
JCM
"Quasimodo" a écrit dans le message de
news:
JCM submitted this idea :
> ExecSQLExcell

re,
pouvez-vous explicité votre fonction : ExecSQLExcell

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com