IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Type 'Microsoft.Office.Interop.Excel.Application' non défini.


Sujet :

VB.NET

  1. #1
    Nouveau candidat au Club Avatar de YaaDaa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut Type 'Microsoft.Office.Interop.Excel.Application' non défini.
    Bonjour à tous et à toutes,

    alors voilà, j'essaye de me mettre à la programmation () sous Visual Basic 2010. Je dois tenter de créer un programme pour un proche dans le domaine de l'équitation.
    Je n'ai pas enregistré plusieurs versions de mon programme et je me retrouve maintenant embêté avec ce qu'il me semble être un problème de compatibilité ou de référence.. En fait, j'ai réalisé une fonction qui me permet d'aller piocher dans un fichier excel (toujours du même modèle) les informations qui m'intéressent. Le programme fonctionnait bien, mais j'ai du touché aux références en voulant continuer et j'ai l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur	1	Type 'Microsoft.Office.Interop.Excel.Application' non défini.	C:\Users\Charles\documents\visual studio 2010\Projects\WinPaddock\WinPaddock\WinPaddock.vb	36	164	WinPaddock
    Voici la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
        Private Function GetInfo() As Boolean
            Dim Completed As Boolean = False
     
            'OUVERTURE
            Dim MyExcel As New Excel.Application
            MyExcel.Workbooks.Open(Me.TextBox1.Text)
     
            'EXTRACTION
            Dim sheet As String
            sheet = Path.GetFileName(OpenFileDialog1.FileName)
            sheet = sheet.Replace(".xls", "")
            MyExcel.Sheets(sheet).Activate()
            MyExcel.Range("A8").Activate()
     
            Dim ThisRow As New Excelrows
     
            Do
                MyExcel.ActiveCell.Offset(0, 6).Activate()
                If MyExcel.ActiveCell.Text = "Sous X" Then
                    MyExcel.ActiveCell.Offset(0, 1).Activate()
                    MyExcel.ActiveCell.Value = " "
                    MyExcel.ActiveCell.Offset(0, -1).Activate()
                End If
                MyExcel.ActiveCell.Offset(0, -6).Activate()
     
                If MyExcel.ActiveCell.Value > Nothing Or MyExcel.ActiveCell.Text > Nothing Then
     
                    MyExcel.ActiveCell.Offset(0, 6).Activate()
                    ThisRow.NOM = MyExcel.ActiveCell.Value
     
                    MyExcel.ActiveCell.Offset(0, 1).Activate()
                    ThisRow.PRENOM = MyExcel.ActiveCell.Value
     
                    MyExcel.ActiveCell.Offset(0, -6).Activate()
                    ThisRow.CHEVAL = MyExcel.ActiveCell.Value
     
                    MyExcel.ActiveCell.Offset(0, -1).Activate()
                    ThisRow.NBO = MyExcel.ActiveCell.Value
     
                    ExcelRowList.Add(ThisRow)
     
                    MyExcel.ActiveCell.Offset(1, 0).Activate()
     
                Else
                    Completed = True
                    Exit Do
                End If
            Loop
     
            'FERMETURE
            MyExcel.Workbooks.Close()
            MyExcel = Nothing
     
            Return Completed
        End Function
    Celle-ci est appelée dans le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
        Sub importer()
            Me.ListView1.Items.Clear()
            Me.OpenFileDialog1.FileName = Nothing
            Me.ExcelRowList.Clear()
            If Me.OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                Me.TextBox1.Text = Me.OpenFileDialog1.FileName
            End If
            If GetInfo() = True Then
     
                For Each Xitem In ExcelRowList
     
                    Dim item As ListViewItem
                    item = Me.ListView1.Items.Add(Xitem.NOM)
                    item.SubItems.AddRange(New String() {Xitem.PRENOM, Xitem.CHEVAL, Xitem.NBO})
                Next
     
            End If
        End Sub
    ExcelRowList étant définie par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private ExcelRowList As List(Of Excelrows) = New List(Of Excelrows)
    L'erreur se trouve dans cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MyExcel As New Excel.Application
    Si Microsoft.Office.Interop n'est pas ajouté dans les noms importés, alors il me dit que Excel.Application n'est pas défini.

    Lorsque je le rajoute, j'ai Microsoft.Office.Interop.Excel.Application qui n'est pas défini.

    Si je rajoute Microsoft.Office.Interop.Excel alors il me dit que 'Forms' n'est pas un membre de 'Microsoft.Office.Interop.Excel.Windows', et donc il me génére des erreurs d'un peu partout... ()

    Voici les références que j'ai dans mon projet:

    Microsoft Excel 14.0 Object Library
    Microsoft Office 14.0 Object Library
    Microsoft Visual Basic for Applications Extensibility 5.3
    puis tous les "System.[...]"

    Et dans les noms importés j'ai pour l'instant viré tous les Microsoft.Office.[...] que j'avais mis et j'essaye des combinaisons mais rien n'y fait...

    Une idée d'où cela pourrait venir ? J'espère avoir été suffisamment clair et avoir donné suffisamment de données. C'est surement tout bête mais je m'arrache les cheveux...

    Merci d'avance !!!

  2. #2
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2005
    Messages : 28
    Par défaut
    Bonjour,
    Et qu'y-a-t'il dans les imports ?

  3. #3
    Nouveau candidat au Club Avatar de YaaDaa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Par défaut
    Bonjour,
    Et qu'y-a-t'il dans les imports ?
    Bonjour et merci d'avoir répondu,
    Et bien.. J'ai "Imports System.IO" dans le code du formulaire windows où se trouve ma fonction et sinon j'ai :
    Imports System
    Imports System.Net
    Imports System.Security.Cryptography.X509Certificates
    Imports System.Net.Security
    dans un autre formulaire.

    Et il me propose d'importer "System.Net.Mime.MediaTypeNames" et quand je l'importe, il me génère aussi des erreurs de partout..




    Edit:
    Les références "Microsoft Excel 14.0 Object Library" et "Microsoft Office 14.0 Object Library" sont de type COM? Cela peut-il influencer? Je n'ai pas trouvé de référence similaire en type .NET

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2010, 13h33
  2. Réponses: 2
    Dernier message: 17/07/2008, 14h47
  3. [C#] Microsoft.Office.Interop.Excel Range
    Par User.Anonymous dans le forum C#
    Réponses: 8
    Dernier message: 23/11/2007, 14h58
  4. Réponses: 2
    Dernier message: 25/06/2007, 20h31
  5. Réponses: 4
    Dernier message: 21/05/2007, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo