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 :

Visual Studio 2008 et Excel


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Visual Studio 2008 et Excel
    Bonjour,
    Je cherche à lire des données dans un fichier Excel 2003 avec mon programme en VB.NET.
    Toute les sources que j'ai pu trouvé sur le net ne sont pas pour VS 2008 et les exemples ne fonctionnent pas à cause des bibliothèques (les fonctions ne sont pas reconnus).
    Sur MSDN je n'ai rien trouvé de satisfaisant.

    Est-ce que quelqu'un pourrait me dire quelles sont le bibliothèques à importer ainsi qu'un exemple très simple qui lirait une cellule dans le fichier.


    Merci beaucoup.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Hello,
    tout est sur msdn...
    voilà la page ou tu pourras trouver tout ce qu'il faut pour travailler avec Excel.

    Il y a aussi des exemples dans les 101 exemples VB.net sur msdn

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je fais toujours face au même problème.
    Il m'est impossible de faire des déclarations du type (mes lignes sont surlignées en bleu):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim newWorbook as Worbook
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim newWorbook as Excel.Workbook
    Pourtant, depuis le départ j'ai ajouté la référence a :
    Microsoft.Office.Interop.Excel
    Et à toute les références comprises dans l'exemple MSDN "How-To Office Automation"


    J'aimerai au moins trouver la commande permettant d'ouvrir mon fichier...

    Je vous en prie, ça fait 2 jours que je bloque sur cette bêtise et je me prend tout mon WE pour avancer mon programme pour qu'il soit prêt lundi


    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Je te propose la lecture de cet article dans un premier temps : Pilotage de l'application Office Excel (Excel Automation).

    S'il ne t'apprends rien ou si ton code ne fonctionne toujours pas, alors montre-le nous.

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci Skalp pour ton aide. J'ai déjà lu ton lien mais il ne m'aide pas...
    Même un copié collé du code me fait les mêmes erreurs.

    Voici mon code:

    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
    Imports Microsoft.Office.Interop.Excel
    Imports System.IO
    Imports System.Data
    Imports System
    Imports System.Collections
    Imports Microsoft.Office.Tools.Excel
    Imports Microsoft.VisualBasic
     
    Public Class Excelmanaged
     
        'Fonction ouvrir Fichier
        Private Sub OuvrirFichier()
            Dim newWorbook As Workbook
            Dim book As Excel.Workbook 'Classeur Excel
    		Application.Worbooks.Open("C:\Documents and Settings\Automatismes\Bureau\Classeur2.xls")
            'Déclaration des variables
            Dim xlsapp As Excel.Application 'Application Excel
    		xlsapp = New Excel.Application
        End Sub
     
    End Class
    J'ai tout simplement les mots suivants soulignés en bleu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim newWorbook As Workbook
     Dim book As Excel.Workbook 'Classeur Excel
     Dim xlsapp As Excel.Application 'Application Excel
     xlsapp = New Excel.Application
    Je dois surement déclarer autre chose avant tout ça mais je ne vois pas quoi...


    Merci

  6. #6
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Pour ouvrir simplement un fichier excel, tu peux essayer le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim AppExcel As Application
            Dim wsheet As Worksheet
            Dim wbook As Workbook
     
            AppExcel = New Microsoft.Office.Interop.Excel.Application
     
            wbook = AppExcel.Workbooks.Open(CheminFichierExcel)
    PS: marche pour excel 2007 et je pense également pour 2003.

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci mais ne marche malheureusement pas.
    Tout mes types des déclarations ne sont pas valide.

    Pour Application, Worsheet, Workbook j'ai une erreur :
    "... est ambigu dans l'espace de nom 'Microsoft.Office.Interop.Excel'

  8. #8
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Et en retirant cette ligne de ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Office.Tools.Excel
    ???

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je viens de la mettre en commentaire mais sans succès, toujours le même problème.

    Je precise que ce bout de code est dans un fichier de class a part.
    Manque-t-il un lien?

  10. #10
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Ambigu signifie sûrement que tu as plus d'une référence aux mêmes méthodes.

    Il faudrait peut-être effacer une dll de ton appli.


    Essais sinon en ouvrant un nouveau projet et en important seulement la réf a l'interop excel. Normalement le code d'avant doit marcher!

  11. #11
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    En mettant ton code dans un nouveau projet je n'ai plus ces "ambiguités" mais j'ai une erreur de déclaration pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppExcel = New Microsoft.Office.Interop.Excel.Application
     
    wbook = AppExcel.Workbooks.Open(CheminFichierExcel)

  12. #12
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Erreur de déclaration sur quelle ligne?

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Points : 402
    Points
    402
    Par défaut
    Bonjour,
    Sinon tu peux regarder du coté de ADO.Net, si tu veux lire ou écrire des données dans un fichier c'est assez performant.
    A bientôt

  14. #14
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par roster Voir le message
    Erreur de déclaration sur quelle ligne?
    J'ai une erreur de déclaration sur:
    AppExcel et wbook dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppExcel = New Microsoft.Office.Interop.Excel.Application
     
    wbook = AppExcel.Workbooks.Open(CheminFichierExcel)

  15. #15
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    dans l'exemple MSDN "How-To Office Automation"
    es-ce qu'il fonctionne sur ton PC?
    Si oui, vérifie que les références qu'ils utilisent sont les mêmes que toi et analyse leur code. C'est chiant mais en général ça marche très bien.
    Si ça ne marche toujours pas je ne peux personnellement plus rien pour toi.

    Si l'exemple MSDN "How-To Office Automation" ne fonctionne pas sur ton pc il y a un gros soucis...


    EDIT :

    tu as essayé de ne mettre aucun imports dans ton projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Imports Microsoft.Office.Interop.Excel
    Imports Microsoft.Office.Tools.Excel
    et de mettre le chemin complet quand tu utilises un élément d'excel
    comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft.Office.Interop.Excel.Workbook
    et pour tes erreurs de déclaration :

    Citation Envoyé par Vincentz Voir le message
    J'ai une erreur de déclaration sur:
    AppExcel et wbook dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppExcel = New Microsoft.Office.Interop.Excel.Application
     
    wbook = AppExcel.Workbooks.Open(CheminFichierExcel)
    essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AppExcel as Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application
     
    wbook as Microsoft.Office.Interop.Excel.Workbook = AppExcel.Workbooks.Open(CheminFichierExcel)

  16. #16
    Membre averti Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Points : 426
    Points
    426
    Par défaut
    Pour compléter ce qu'à dit Sankasss:



    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
    Public Class Form1
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     
     
     
            Dim wbook As Microsoft.Office.Interop.Excel.Workbook
            Dim AppExcel As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application
     
            wbook = AppExcel.Workbooks.Open("C:\Documents and Settings\Automatismes\Bureau\Classeur2.xls")
            AppExcel.Visible = True
     
     
     
     
        End Sub
    End Class
    A copier dans un nouveau projet.
    Ensuite, tu ne fais que l'ajout de la référence à Microsoft.Office.Interop.Excel.

  17. #17
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci a vous tous

    J'ai résolu mon problème en créant un nouveau projet et en le limitant a un minimum de référence.
    Cependant j'ai été obligé de faire mes déclarations dans une fonction private sinon j'avais encore un problème d'ambigüité.

    Encore merci et maintenant je vais essayer de rattraper le temps perdu

    A bientôt et j'espère qu'un jour, mes connaissances puissent vous servir a vous aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Visual Studio 2008/configuration Excel 2010
    Par jphlopez dans le forum Visual Studio
    Réponses: 0
    Dernier message: 13/01/2012, 10h22
  2. Debutant: Problemes Excel 2003 sous Visual Studio 2008
    Par loke74150 dans le forum VB.NET
    Réponses: 14
    Dernier message: 31/05/2010, 12h21
  3. vba Excel et Visual studio 2008
    Par peponne31 dans le forum Visual Studio
    Réponses: 5
    Dernier message: 16/09/2009, 19h23
  4. Visual Studio 2008 / Excel Addin Bug !
    Par porkyrider dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/07/2009, 15h20
  5. Peut on importer un projet VBA excel dans Visual Studio 2008 ?
    Par tapas_dev dans le forum Visual Studio
    Réponses: 1
    Dernier message: 18/11/2008, 15h40

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