VB 2010 récupérer une valeur dans excel

Résolu
Bonjour,

J'ai écris le code ci-dessous dans visual basic 2010 :

Option Explicit On

Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        'Déclaration des variables
        Dim appExcel As Excel.Application 'Application Excel
        Dim wbExcel As Excel.Workbook 'Classeur Excel
        Dim wsExcel As Excel.Worksheet 'Feuille Excel

        'Ouverture de l'application
        appExcel = CreateObject("Excel.Application")
        'Ouverture d'un fichier Excel
        wbExcel = appExcel.Workbooks.Open("C:\Users\LL\Documents\Visual Studio 2010\Projects\test3\test3\TEST.xls")
        'C:\Users\LYDIE\Documents\Visual Studio 2010\Projects\test3\test3\TEST.xls"
        'wsExcel correspond à la première feuille du fichier
        wsExcel = wbExcel.Worksheets(1)
        Me.TextBox1.Text = wsExcel.Cells(1, 1)

        wbExcel.Close() 'Fermeture du classeur Excel
        appExcel.Quit() 'Fermeture de l'application Excel

        'Désallocation mémoire
        wsExcel = Nothing
        wbExcel = Nothing
        appExcel = Nothing
    End Sub


Mon problème est qu'il me renvoie l'erreur : "L'exception InvalidCastException n'a pas été gérée. La conversion du type 'Range' en type 'String' n'est pas valide."

Pouvez-vous m'aidez s'il vous plait ?

7 réponses

  1. Modérateur
    Bonjour

    Me.TextBox1.Text = wsExcel.Cells(1, 1)

    Tu es certain que wsExcel.Cells te renvoie un String ???
    1. Re,

      oui, il me renvoie obligatoirement une chaîne de caractère et au pire, un nombre.
      1. Modérateur
        en fait: cette méthode te renvoie un objet Range... D'où l'erreur.
        1. D'accord, alors comment dois-je faire pour qu'il me renvoie le texte contenue dans ma cellule ?
          1. Merci !!
            J'ai trop honte, je le savais en plus. Je vais mettre ça sur le compte de la fatigue. Et dire que je cherche depuis hier.
            Encore merci.