Impossible d'effectuer un cast d'un objet COM
Bonjour à tous, j'ai l'erreur suivante en voulant avec vb.net sous visual studio 2022, lire des données excel 2010.
"System.InvalidCastException*: 'Impossible d'effectuer un cast d'un objet COM de type 'Microsoft.Office.Interop.Excel.WorksheetClass' en type d'interface 'Microsoft.Office.Interop.Excel._Worksheet'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{000208D8-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)).'"
Voiçi le code des procédures :
le code du module avec les variables globales :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Excel
Module Module1
Public DateJour As Date
Public DateMax As Date
Public oApp As New Excel.Application
Public oWkb = oApp.Workbooks.Add
Public oWSht As New Excel.Worksheet 'feuille de calcul
Public chemin As String = "C:\Users\Documents\Excel\Pass.xlsx"
Public onglet As String = "Utilisés"
Public lRow As Long
End Module |
Le code du formulaire avec un bouton :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Imports Microsoft.Office.Interop.Excel
Public Class Form1
'Implements Worksheet
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
oWkb = oApp.Workbooks.Open(chemin)
With oWSht
lRow = .Cells(.Rows.Count, "A")
End With
End Sub
End Class |
l'erreur est sur
Code:
lRow = .Cells(.Rows.Count, "A")
J'ai regardé sur diverses discussions à ce sujet j'ai donc réparé puis désinstallé et re installé MS Office 2010 en vain.
A noter la solution est sous Framework .NET Framework 4.8 et sur une Windows Forms
Si quelqu'un a une idée...