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 :

Problème VB/Excel suite changement d'OS pour Appli WEB ASP.NET


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut Problème VB/Excel suite changement d'OS pour Appli WEB ASP.NET
    Bonjour,

    Je suis complétement néophyte en langage VB mais j'ai des notions pas trop mauvaises dans l'informatique. (Je fais des études dans l'informatique mais spécialisé dans le réseaux/télécoms)

    J'ai un soucis avec une application VB 2003 et Excel.
    A la base cette appli tourne sur un Win XP Pro, Office 2K3 et MS SQL 2K8.

    J'essaie de la migrer sur win Serv 2K8 et après plusieurs batailles épiques j'ai pu faire fonctionner l'application SAUF pour Excel....

    Dans cette appli (appli web au fait ^^), je veux ouvrir une page avec Excel et ... Paf erreur... Alors que le code n'as pas changé entre les 2 versions et que sous XP cela marche parfaitement. La version d'Excel est toujours 2K3.

    La seule chose qui pourrait interférer serais le changement d'IIS (enfin j'en ai conclu ca après de nombreuses recherches) mais je dit ca sans aucune conviction!!

    Une idée pour me sortir de cette impasse?

    Voici le code et l'erreur est stipuler sur la ligne wbExcel=.... et me retourne "Impossible de lire la propriété Open de la classe Workbooks"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim appExcel=CreateObject("Excel.Application")
    Dim wbExcel
    Dim chemin As String
     
    chemin = "C:\lolcat.xls"
     
    wbExcel=appExcel.Workbooks.Open(chemin)

  2. #2
    Membre expérimenté
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 747
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour lelej,

    je dois avouer que l'écriture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim appExcel=CreateObject("Excel.Application")
    ne me plait pas trop, déjà... j'aurais plutôt vu un truc comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim appExcel
    Set appExcel=CreateObject("Excel.Application")
    et il manque certainement un Set sur l'autre ligne aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wbExcel=appExcel.Workbooks.Open(chemin)
    Set est utilisé pour affecter des variables objets

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Salut,

    Je reprend du code d'une personne qui n'est plus présente... J'ai parcouru le code et même en n'étant pas un expert VB, le code est loin d'être propre.

    J'ai fait des recherches ce matin et j'avais repris ce que tu m'as mis (avec un "Dim appExcel As Excel.Application" en plus )

    Malgré tout je reste toujours bloqué... (D'ailleurs les "Set" disparraissent automatiquement dans VS Studio 2003 ^^)

    Et de ce que j'ai pu comprendre, c'est que mon problème se situerais au niveau du "WorkBooks".

    Mais c'est quoi ce "WorkBooks"???
    C'est lié à quoi ? (IIS, Librairie Excel, Librairie Windows...??)

    Une idée?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    Salut.

    Voici le code VB.NET qui permet cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim appExcel As Object, wbExcel As Object
            Dim Chemin As String
     
            Chemin = "d:\données\classeur1.xlsx"
            appExcel = CreateObject("excel.application")
            wbExcel = appExcel.workbooks.open(Chemin)
    Workbooks est la collection des classeurs d'une instance Excel, c'est donc lié à la libraire des objets Excel, et cette collection est directement liée à l'application Excel
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Hum hum merci de ta lumière Pierre, je regarde mon code pour le tester...

    Bon ben toujours la même erreur
    "Impossible de lire la propriété Open de la classe Workbooks"
    Même l'erreur est pour moi incompréhensible... Il veule dire Argument au lieu de propriété?

    Par contre, est il possible qu'une incompatibilité existe entre Windows Server 2008 et Office 2003 pour cette WorkBooks?

    Car le code est totalement fonctionnel sur un Win XP et Office 2K3...

    C'est a se manger les C****, hurm, les mains cette histoire !!

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    As-tu essayé d'ouvrir le fichier directement par Excel?

    Es-tu certain du chemin et du nom du fichier?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Le fichier s'ouvre dans Excel (Est ce important que le fichier contienne des infos? car actuellement il est vide)

    Le chemin oui car je l'ai mis a jour et pareil pour le nom

  8. #8
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    Ce n'est pas important que le fichier soit "vide" ou pas. S'il s'ouvre en Excel, c'est qu'il n'est pas corrompu et est bien reconnu par Excel comme étant valide.

    J'ai testé avec un fichier inexistant pour voir si le problème se pose, mais l'erreur renseignée n'est alors pas la même. Donc, la piste à laquelle je pensais concernant IIS, à savoir une différenciation de la casse dans le chemin ou le nom du fichier, semble être caduque.

    Tu pourrais tester avec un autre fichier pour voir si le problème est identique.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    Dis aussi si le problème était identique avec les autres fichiers...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Donc je te confirme qu'avec les autres fichiers cela ne fonctionne pas quelque soit leurs propriétaires ou leurs créateurs...
    (j'ai supposé que tu pense à un pb de droit?)

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    Si tu le peux, essaie en référençant directement la librairie Excel dans les références de ton projet.

    Tu pourras alors utiliser le code suivant (VS2005, j'espère qu'il est compatible VS2003)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim appExcel As New Microsoft.Office.Interop.Excel.Application
            Dim wbExcel As Microsoft.Office.Interop.Excel.Workbook
            Dim Chemin As String
     
            Chemin = "d:\données\classeur1.xlsx"
     
            wbExcel = appExcel.Workbooks.Open(Chemin)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Il me jette lors de la compilation (Microsoft.Off.... souligné en bleu pour les 2 lignes)

    D'ailleurs le fait d'être souligné en bleu a une signification particulière hormis qu'il soit pas content le compilo?

    L'erreur dans le compilo est que Microsoft.Off... est un Type non défini.

    J'ai fait la référence dans le projet (il me l'affiche dans la liste sous "Excel").

    Au passage, sa description est Microsoft Excel 11.0 Object Library.

    Et j'ai tester ce meme code en mettant juste Excel.Application et Excel.Workbook la compile passe mais j'ai une nouvelle erreur :

    "Exception de HRESULT : 0x800A03EC"
    Ce qui signifie que l'on a avancé ou réculé? lol

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 918
    Points
    55 918
    Billets dans le blog
    131
    Par défaut
    il faudrait voir en VS2003 comment utiliser les objets exposés par la librairie Excel.

    Peut-être faut-il simplement utiliser
    ou
    Je n'ai pas de VS2003 sous la main pour tester, mais en tâtonnant un peu, tu devrais pouvoir y arriver.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Hum j'avais déjà tatonner dans les lib excel mais je me suis appliqué à utiliser la même qu'avant pour éliminer les sources d'erreur.... Sans succès ...
    J'ai pris d'autres erreurs dans mon appli et cela m'as achevé...

    J'ai décidé de laisser tomber le passage sous Serv 2K8 car j'ai d'autres chats à fouetter pour l'instant mais si j'ai un moment je me remet dessus ! J'aime pas me laisser battre par un ordi !

    Merci beaucoup en tout cas de votre aide, surtout Pierre

    Si quelqu'un trouve la solution un jour qu'il m'appel je lui ferais des gros poutoux ou je lui donne une grosse bière ! (au choix!!)

    PS : Je met quoi dans le statut du post?

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/05/2013, 17h47
  2. Configuration IIS pour appli web ASP.NET
    Par premiumbfd dans le forum IIS
    Réponses: 1
    Dernier message: 13/12/2008, 01h13
  3. Problème d'accent suite changement de serveur
    Par f1vincent dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 06/04/2007, 16h41
  4. problème d'état suite à changement de version
    Par moicats dans le forum Access
    Réponses: 4
    Dernier message: 11/04/2006, 16h16

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