Probleme avec déclaration application excel lors du passage de VB2005.net à VB20

Signaler
Messages postés
58
Date d'inscription
mercredi 15 mars 2006
Statut
Membre
Dernière intervention
14 janvier 2010
-
NHenry
Messages postés
14621
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
-
  Bonjour,
j'ai du passer a VB2009.net a cause d'un formatage.
J'avais crer ma source avec VB2005.net
Lors de l'ouverture de ma source avec VB2009.net il a mis a niveau la source, et depuis j'ai des message d'erreur avec excel.
Pouvez vous m'aider?
Merci

voici un morceau de ma source.

 Function search_values(ByVal tol As String, ByVal dia As Double, ByVal fichier As String) As ma_variable
        Dim tol_cherche As String
        Dim dia_cherche As Double
        Dim Etat_Excel As Boolean = 1
        Dim i, j As Integer
        Dim p() As Process
        Dim r As Process
        p = Process.GetProcessesByName("Excel") 'on fournit le nom du process en parametre
        If p.Length > 0 Then
            Etat_Excel = False
        End If
        Dim ClasseurXLS As New Microsoft.Office.Interop.Excel.Application
        ClasseurXLS = New Microsoft.Office.Interop.Excel.Application
        ClasseurXLS.Workbooks.Open(Application.StartupPath & "\Tolerances.xls")
        ClasseurXLS.Workbooks(1).Worksheets(fichier).Activate()
        tol_cherche = 0
        dia_cherche = 0
        i = 2
        j = 1
        'MsgBox(p.Length)
        Do While Not tol_cherche = tol
            i = i + 1
            tol_cherche = ClasseurXLS.Cells(i, 1).Value
        Loop
        Do While Not dia_cherche >= dia
            j = j + 1
            dia_cherche = ClasseurXLS.Cells(2, j).Value
        Loop
        search_values.sup = ClasseurXLS.Cells(i, j).value
        search_values.inf = ClasseurXLS.Cells(i + 1, j).value
        ClasseurXLS.ActiveWorkbook.Close(True)
        ClasseurXLS.Application.Quit()
        ClasseurXLS = Nothing
        If Etat_Excel Then   'efface tous les processus Excel seulement si il n'en avait pas d'existent avant le lancement de la function
            p = Process.GetProcessesByName("Excel") 'on fournit le nom du process en parametre
            For Each r In p 'puis on les kill tous
                r.CloseMainWindow()
                r.Kill()
            Next
        End If

    End Function

Voici le message d'erreur

Erreur    7    Type 'Microsoft.Office.Interop.Excel.Application' non défini.    C:\Documents and Settings\thomas\Bureau\Tolérance\Tolérance\Module\Module1.vb    54    32    Tolérance
Erreur    8    Type 'Microsoft.Office.Interop.Excel.Application' non défini.    C:\Documents and Settings\thomas\Bureau\Tolérance\Tolérance\Module\Module1.vb    55    27    Tolérance
Erreur    9    Type 'Microsoft.Office.Interop.Excel.Application' non défini.    C:\Documents and Settings\thomas\Bureau\Tolérance\Tolérance\Module\Module1.vb    101    28    Tolérance
Erreur    10    Type 'Microsoft.Office.Interop.Excel.Application' non défini.    C:\Documents and Settings\thomas\Bureau\Tolérance\Tolérance\Module\Module1.vb    102    27    Tolérance

1 réponse

Messages postés
14621
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
24 janvier 2020
138
Bonjour,

Recréé la référence vers Excel, je pense que c'est là que le pb se situ.

http://nhen0039.chez-alice.fr/index.php