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

Windows Forms Discussion :

références sur VB2008


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut références sur VB2008
    Bonjour à vous,
    Ayant cherché un peu partout, je ne trouve pas comment ajouter une référence sur VB2008; L'objectif étant de pouvoir créer un fichier excel avec VB2008. Lorsque je suis dans le menu "ajouter une référence", je sélectionne "Microsoft Excel 12.0 Object Library" mais rien ne se passe...

    J'ai trouvé le code permettant de réaliser l'opération voulue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim oExcel As Excel.Application
    Dim oWk As Workbook
    Set oExcel = CreateObject("Excel.Application")
    oExcel.Visible = False 'Masque l'application excel (valeur par défaut)
    Set oWk = oExcel.Workbooks.Add
    'rajoute par exemple la date et heure actuelle en Feuil1 cellule A1
    oWk.Sheets(1).Range("A1") = Now
    'Sauve le classeur
    oExcel.DisplayAlerts = False ' Pour éviter des questions si classeur déjà existant
    oWk.SaveAs App.Path & "\MonClasseur.xls"
    oWk.Close False 'Ferme le classeur
    oExcel.Quit
    Set oWk = Nothing
    Set oExcel = Nothing 'libération mémoire..
    Les objets comme "Excel.Application" sont soulignés indiquant qu'ils ne sont pas déclaré (la référence n'étant pas intégrée...?).
    Pouvez vous m'orienter dans ma démarche ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    ajouter une référence permet d'utiliser les classes dans la dll
    ajouter des imports en entete de fichier sert à ne pas avoir à taper les chemins des namespace pour utiliser les classes

    la classe en question est dans un namespace et le code que tu as pris avait surement un imports qui va bien
    ou alors tu peux taper As Microsoft.Excel.Application (enfin je sais pas exactement ou c'est mais y faut rajouter des mots devant)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 37
    Par défaut
    Salut,
    Tu peux ajouter les réferences Microsoft.Office.Interop a ton projet via les propriétés du projet,
    Sinon
    Microsoft.Excel.Application (enfin je sais pas exactement ou c'est mais y faut rajouter des mots devant)
    les mots devant je pense que ce sont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Microsoft.Office.Interop.Excel.Application
    Salut

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    Je suis encore coincé.
    Je suis donc allé dans les propriétés du projet et n'est pas trouvé la référence "Microsoft.Office.Interop" dans les références COM et .NET. J'ai plutôt ajouté la référence "Microsoft Excel 12.0 Object Library", je ne connaissais pas la bonne manip à faire pour ajouter les références auparavant.
    Le fait d'ajouter cette référence permet au projet de reconnaitre "Microsoft.Office.Interop.Excel.Application". C'est deja ca.
    Par contre dans le code, il ne reconnait toujours pas certains objets :
    Dim oExcel As Excel.Application
    Dim oWk As Workbook
    Set oExcel = CreateObject("Excel.Application")
    oExcel.Visible = False 'Masque l'application excel (valeur par défaut)
    Set oWk = oExcel.Workbooks.Add
    'rajoute par exemple la date et heure actuelle en Feuil1 cellule A1
    oWk.Sheets(1).Range("A1") = Now
    'Sauve le classeur
    oExcel.DisplayAlerts = False ' Pour éviter des questions si classeur déjà existant
    oWk.SaveAs App.Path & "\MonClasseur.xls"
    oWk.Close False 'Ferme le classeur
    oExcel.Quit
    Set oWk = Nothing
    Set oExcel = Nothing 'libération mémoire..
    Pouvez vous m'éclairer sur le chemin d'accès pour trouver la référence "Microsoft.Office.Interop" ou pour résoudre mes soucis ?

    Je rajoute un détail :
    Je viens de VBA Excel où je me débrouille...et veux apprendre VB2008. J'aimerais utiliser Excel pour toutes les opérations faciles à faire grace à un tableur (tri de données, manipulation, ...) d'ou ma question initiale.
    Images attachées Images attachées  

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 68
    Par défaut
    Après avoir inséré la correction proposée par l'intellisense.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Office.Interop
    L'objet 'Owk' est reconnu, par contre 'App' n'est pas déclaré dans le code donné en exemple. La propriété path de l'objet App doit contenir le chemin du dossier de l'application.

    Le code qui suit fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Dim oExcel As Excel.Application
            Dim oWk As Workbook
            oExcel = CreateObject("Excel.Application")
            oExcel.Visible = False 'Masque l'application excel (valeur par défaut)
            oWk = oExcel.Workbooks.Add
            oWk.SaveAs(Filename:="Test.xls") 'Ne fonctionnera pas si le fichier est déjà ouvert
            oWk.Sheets(1).cells.item(1, 1) = Now
            oExcel.DisplayAlerts = False ' Pour éviter des questions si classeur déjà existant
            oWk.Save()
            oWk.Close(False) 'Ferme le classeur
            oExcel.Quit()
            oWk = Nothing
            oExcel = Nothing 'libération mémoire..

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    Excuse moi Bob mais je dois pas avoir les connaissances pour te comprendre :
    J'ai remplace mon code par le tiens, il y presque les memes problèmes : "Excel.application" et "Workbook" ne sont pas reconnus.
    Je n'ai ajouté que la référence "Microsoft Excel 12.0 Object Library".
    Je ne comprends pas si je dois ajouter au code "Imports Microsoft.Office.Interop" (où "Imports" n'est pas reconnu).
    Merci de votre patience !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Par défaut
    Citation Envoyé par toinou28 Voir le message
    Je suis donc allé dans les propriétés du projet et n'est pas trouvé la référence "Microsoft.Office.Interop" dans les références COM et .NET. J'ai plutôt ajouté la référence "Microsoft Excel 12.0 Object Library"
    Je ne trouve pas la référence que tu m'indique (ni dans .NEt ni dans COM), peux tu me donner son chemin d'accès stp?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 68
    Par défaut
    As-tu installé Office sur ta machine?

Discussions similaires

  1. [Système] référence sur fonction
    Par Cyril H. dans le forum Langage
    Réponses: 5
    Dernier message: 09/05/2006, 16h13
  2. Réponses: 10
    Dernier message: 23/11/2005, 21h20
  3. champ de référence sur un DBGrid
    Par ithery75 dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/11/2005, 10h55
  4. [C.R .8.5] doublons de référence sur groupes différents
    Par leuke dans le forum SAP Crystal Reports
    Réponses: 24
    Dernier message: 14/11/2005, 11h15
  5. Comment avoir une référence sur une Vue
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 12/08/2005, 10h03

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