Je n'y comprend plus rien, je veux 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
voici mon code :
le chemin du classeur est donné par un commandDialog :
strFileNameExcel = CmdLgMain.fileName
ensuite la feuille 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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Josselin Jouannet
Bonjour Ton problème doit venir du fait que ton classeur n' est pas instancié par le constructeur (puisque tu ne le creer pas tu en ouvre un existant, donc tu n'utilise pas le constructeur filenew), il te faut donc instancier ton classeur manuellement.
ce petit bout de code (pour project, mais marche avec tout office) simplifié devrait pouvoir t'aider.
'Declaration de var ms project Public AppliProj As MSProject.Application
Public Sub OpenProject( '--------------------------------------------------------------------------------------- ' Objet : Creer une instance de Ms Project ' Retourne : Nothin '--------------------------------------------------------------------------------------- Set FrmMainMDI.AppliProj = CreateObject("MsProject.application") End Sub
Public Sub OpenProjectFile(NameOpenProject As String '--------------------------------------------------------------------------------------- ' Objet : Ouvre un fichier project ' Retourne : Rie '--------------------------------------------------------------------------------------- FrmMainMDI.AppliProj.FileOpen Name:=NameOpenProject, ReadOnly:úlse, FormatID:="MSProject.MPP" FrmMainMDI.AppliProj.ViewApply ("Diagramme de Gantt") End Sub
et aprés tu travail sur AppliProj.ActiveProject ou dans ton cas activeworkbook, si tu ne veux pas travailler avec activeworkbook, tu peut aussi déclarer un classeur, une feuille et ainsi de suite.
@+
"JCM" a écrit :
Bonjour
Je n'y comprend plus rien, je veux 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 voici mon code :
le chemin du classeur est donné par un commandDialog : strFileNameExcel = CmdLgMain.fileName
ensuite la feuille 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
Par contre si c'est un classeur créé et rempli par l'appli cela fonctionne
Voyez-vous ou est l'erreur, car je n'arrive pas a sortir de cette galere Cordialement JCM
Bonjour
Ton problème doit venir du fait que ton classeur n' est pas instancié par le
constructeur (puisque tu ne le creer pas tu en ouvre un existant, donc tu
n'utilise pas le constructeur filenew), il te faut donc instancier ton
classeur manuellement.
ce petit bout de code (pour project, mais marche avec tout office) simplifié
devrait pouvoir t'aider.
'Declaration de var ms project
Public AppliProj As MSProject.Application
Public Sub OpenProject(
'---------------------------------------------------------------------------------------
' Objet : Creer une instance de Ms Project
' Retourne : Nothin
'---------------------------------------------------------------------------------------
Set FrmMainMDI.AppliProj = CreateObject("MsProject.application")
End Sub
Public Sub OpenProjectFile(NameOpenProject As String
'---------------------------------------------------------------------------------------
' Objet : Ouvre un fichier project
' Retourne : Rie
'---------------------------------------------------------------------------------------
FrmMainMDI.AppliProj.FileOpen Name:=NameOpenProject, ReadOnly:úlse,
FormatID:="MSProject.MPP"
FrmMainMDI.AppliProj.ViewApply ("Diagramme de Gantt")
End Sub
et aprés tu travail sur AppliProj.ActiveProject ou dans ton cas
activeworkbook, si tu ne veux pas travailler avec activeworkbook, tu peut
aussi déclarer un classeur, une feuille et ainsi de suite.
@+
"JCM" a écrit :
Bonjour
Je n'y comprend plus rien, je veux 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
voici mon code :
le chemin du classeur est donné par un commandDialog :
strFileNameExcel = CmdLgMain.fileName
ensuite la feuille 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
Bonjour Ton problème doit venir du fait que ton classeur n' est pas instancié par le constructeur (puisque tu ne le creer pas tu en ouvre un existant, donc tu n'utilise pas le constructeur filenew), il te faut donc instancier ton classeur manuellement.
ce petit bout de code (pour project, mais marche avec tout office) simplifié devrait pouvoir t'aider.
'Declaration de var ms project Public AppliProj As MSProject.Application
Public Sub OpenProject( '--------------------------------------------------------------------------------------- ' Objet : Creer une instance de Ms Project ' Retourne : Nothin '--------------------------------------------------------------------------------------- Set FrmMainMDI.AppliProj = CreateObject("MsProject.application") End Sub
Public Sub OpenProjectFile(NameOpenProject As String '--------------------------------------------------------------------------------------- ' Objet : Ouvre un fichier project ' Retourne : Rie '--------------------------------------------------------------------------------------- FrmMainMDI.AppliProj.FileOpen Name:=NameOpenProject, ReadOnly:úlse, FormatID:="MSProject.MPP" FrmMainMDI.AppliProj.ViewApply ("Diagramme de Gantt") End Sub
et aprés tu travail sur AppliProj.ActiveProject ou dans ton cas activeworkbook, si tu ne veux pas travailler avec activeworkbook, tu peut aussi déclarer un classeur, une feuille et ainsi de suite.
@+
"JCM" a écrit :
Bonjour
Je n'y comprend plus rien, je veux 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 voici mon code :
le chemin du classeur est donné par un commandDialog : strFileNameExcel = CmdLgMain.fileName
ensuite la feuille 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