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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
l'erreur est sur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ClassJ'ai regardé sur diverses discussions à ce sujet j'ai donc réparé puis désinstallé et re installé MS Office 2010 en vain.
Code : Sélectionner tout - Visualiser dans une fenêtre à part lRow = .Cells(.Rows.Count, "A")
A noter la solution est sous Framework .NET Framework 4.8 et sur une Windows Forms
Si quelqu'un a une idée...
Partager