Exception du a excel

Résolu
chanel35 Messages postés 32 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 6 septembre 2006 - 28 août 2006 à 11:11
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 28 août 2006 à 12:19
bonjour a tous

j'ai une exception de ce type

An error occurred creating the form. See Exception.InnerException for details.  The error is: Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Excel.Worksheets'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{000208B1-0000-0000-C000-000000000046}' a échoué en raison de l'erreur suivante : Cette interface n'est pas prise en charge (Exception de HRESULT : 0x80004002 (E_NOINTERFACE)).

due de la declaration de cette ligne
Dim

Feuilles As Excel.Worksheets = CType(Classeur.Worksheets, Excel.Worksheets)merci de votre aide

9 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2006 à 12:19
Le problème viens apparement de la déclaration de la variable Feuilles

il faudrait mettre         Dim Feuilles As Excel.Sheets = CType(Classeur.Worksheets, Excel.Sheets)

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
28 août 2006 à 11:24
ben.... il doit avoir raison ^^
"due à Excel" je sais pas....
vérifie par exemple que ton Classeur.Worksheets n'est pas null, que c'est bien un Excel.Worksheets...

en passant, tu n'est pas en VB6, contrairement à ce que la section où tu as rangé ton topic indique...
bon, ben, je le déplace.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
chanel35 Messages postés 32 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 6 septembre 2006
28 août 2006 à 11:28
Re

au debut je bossé que sur une feuille d'excel ca a bien marché. et la quand j'ai mis
Dim

Feuilles As Excel.Worksheets = CType(Classeur.Worksheets, Excel.Worksheets)
il me met une exception

merci
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2006 à 11:29
Juste pour préciser Renfield que Excel ce n'est pas du VB.NET mais du VBA.

Donc la section qui va bien c'est Visual Basic 6/ Langages dérivés/VBA

Et je crois que c'était la section de départ, non? j'ai pau eu le temps de la noter

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
28 août 2006 à 11:34
Je sais plus où c'était, exactement, mais c'était pas dans la section VBA...

"que sur une feuille excel".... que fais tu, là :S ?

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2006 à 11:38
Chanel35 donne nous quelques précisions sur ton environnement de développement.

Après quelques essais, la fonction Ctype ne semble exister que sous .net

J'en déduit donc que tu développe en VB.NET 2003 ou 2005, et que tu essaye d'acceder à un fichier excel depuis ton appli.
Tu n'es pas du tout sous Excel comme j'ai cru au départ.
Donc Renfield aurait raison de déplacer ce message, autant pour moi.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0
chanel35 Messages postés 32 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 6 septembre 2006
28 août 2006 à 11:48
je suis sous visual basic 2005 expresse
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 août 2006 à 11:58
Tu as certainement un problème de décalration de ta variable Classeur (elle devrait etre normalement de type Excel.WorkBook). Ou alors elle n'est pas encore initialisée au moment ou tu fait le Dim.

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
0
chanel35 Messages postés 32 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 6 septembre 2006
28 août 2006 à 12:03
voici les declaration

Dim

Appli
As Excel.Application = _

CType(CreateObject(
"Excel.Application"), Excel.Application)

Dim Classeur
As Excel.Workbook = _

CType(Appli.Workbooks.Add, Excel.Workbook)

Dim Feuilles
As Excel.Worksheets =
CType(Classeur.Worksheets, Excel.Worksheets)
0
Rejoignez-nous