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 :

creation fichiers EXCEL version incompatible


Sujet :

VB.NET

  1. #21
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Alors après quelques recherches parce que je voulais comprendre pourquoi, je suis tombé sur les choses suivantes :

    Lien pour télécharger les librairies pour Office 2003
    http://support.microsoft.com/kb/897646/fr

    Contenu du PIA Assembly pour Office 2007
    http://msdn.microsoft.com/fr-fr/libr...7.aspx#pia2007

    Redirection de liaison de l'Assembly
    http://msdn.microsoft.com/fr-fr/library/2fc472t2.aspx

    Configuration de la liaison de l'Assembly
    http://msdn.microsoft.com/fr-fr/library/433ysdt1.aspx

    Après avoir lu un peu tout ça, il se peut que cela soit lié au Framework présent sur la machine. Quel est le Framework présent sur ta machine ?

  2. #22
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    voila où j'en suis :

    j'ai ajouté la ref de COM

    microsoft office 12.0 object library

    je la retrouve bien dans les propriétés du projet dans l'onglet "référence"

    ensuite j'ai fait la déclaration :

    Imports Microsoft.Office.Interop.Excel.dll --> ref inexistante
    Imports Microsoft.Office.Interop.Excel --> idem

    l'imports ne fonctionne pas.

    ma machine

    XP pro SP3
    VB2008 express
    netframwork V 3.5 sp1

    suite office 2003 avec mise a jour excel en 2007

    merci de votre aide

  3. #23
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Je pense qu'ajouter la reference suffira pour faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oBook.SaveAs("c:\toto.xls", FileFormat:=Excel.XlWindowState.xlNormal)

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    toutjours même problème :

    Le membre public 'XlWindowState' du type 'ApplicationClass' est introuvable.
    qui a une corde....

  5. #25
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Attention

    En rajoutant la référence dans ton projet, tu figeras l'utilisation de cette référence et donc de la version correspondante d'Excel

    Si tu rajoute la référence vers Excel 2007, Excel 2007 devra ensuite être obligatoirement installé sur tes machines pour que ton logiciel fonctionne.

    Le fait de ne pas référencer ta version d'Excel te permet d'utiliser la version actuellement installé sur la machine indépendamment de la version qui à servir à coder le logiciel.

    La contrepartie, c'est que l'intellisence ne marche pas puisque VB ne connais pas les objets Excel que tu vas utiliser, et notamment les constantes des énumérés.

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    aie, je suis dans l'impasse alors ?

    effectivement les différents postes n'utilise pas la même version excel.

    chaque utilisation doit pouvoir crée des fichiers car du coté appli local, l'utilisateur doit pouvoir depuis l'appli ouvrir le fichier pour le voir dans un datagridview, ajouter ou supprimer des données et sur le serveur une appli fusionne ces fichiers en un et là cet excel 2003 imposé.

    donc il faut absolument que ces fichiers soit compatible excel 2003 au niveau commandes appli local même si il y a excel 2007.

    comment faire sans se servir de la référence pour forcer l'enregistrement du fichier avec la structure excel 2003 quand on a excel 2007 ?

    je suis désolé de vous embêter avec mon problème, mais je pense que cela pourra servir à d'autres.

    Cordialement.

  7. #27
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Regarde ma réponse sur l'autre forum

    Au lieu de vouloir passer les constantes énumérées comme xlExcel8 pour Fileformat, il faut directement indiquer leurs valeurs numériques, 56 pour xlExcel8 par exemple

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut [RESOLU]
    Casy alias sevyc64 , ça à l'air ok.

    suppression de la réference
    et
    oBook.Saveas(Filename:=nom_fichier, FileFormat:=56)

    j'arrive à ouvrir, modifier, supprimer avec un excel 2007 sur le poste.

    j'arrive a ouvrir le fichier en excel 2003 sur un autre poste.

    il me reste à essayer une appli qui a excel 2003 et verifier si le fichier s'ouvre en 2007 pour être compatible à 100%
    je regarde ça demain et te tiens au courant.

    vraiment un grand merci, à vous tous.

    Cordialement.

  9. #29
    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 : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Juste le petit mot de la fin, si tu utilises la dll 2003 dans les références, elle fonctionne aussi avec la version 2007, c'est ce que je fais... de cette manière mes appli fonctionne sur toutes les versions d'Excel et en plus tu as l'intellisens

  10. #30
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    Ah ben dites donc c'est pas ce que j'ai mis au 5eme post? personne ne m'écoute

  11. #31
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    Bonjour a tous,

    voici mes resultats :

    appli avec excel 2003 = plantage error
    la methode saveas de worbook à échoué.
    donc je pense qu'il va falloir vérifier la version excel avant la sauvegarde et appliquer différement saveas suivant la version.

    pas souple du tout cette affaire...

    Cordialement.

  12. #32
    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 : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par Flamby38 Voir le message
    Ah ben dites donc c'est pas ce que j'ai mis au 5eme post? personne ne m'écoute
    Ca arrive tout le temps sur les forum

    Citation Envoyé par STEF68600 Voir le message
    Bonjour a tous,

    voici mes resultats :

    appli avec excel 2003 = plantage error

    donc je pense qu'il va falloir vérifier la version excel avant la sauvegarde et appliquer différement saveas suivant la version.

    pas souple du tout cette affaire...

    Cordialement.
    Personnellement aucun problème avec la dll 97/2003 et la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      mWorkBook.SaveAs(strCheminFichier, Excel.XlFileFormat.xlExcel7)

  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 48
    Par défaut
    Bonjour,

    donc en ajoutant la référence object librayrie 11 et en mettant ton code ça fonctionne et peu importe la version excel installé ?

    mais comment déclare-tu l'imports ? car je n'y suis pas arrivé malgré votre aide.

    Cordialement.

  14. #34
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Je pense que la ligne suivante, en haut du module où tu manipules Excel devrait suffire (dès l'instant où tu as ajouté la ref à ton projet) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Interop.Office

  15. #35
    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 : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par STEF68600 Voir le message
    donc en ajoutant la référence object librayrie 11 et en mettant ton code ça fonctionne et peu importe la version excel installé ?
    .
    Ça fonction bien quelque soit la version installée

    Citation Envoyé par sebnantes Voir le message
    Je pense que la ligne suivante, en haut du module où tu manipules Excel devrait suffire (dès l'instant où tu as ajouté la ref à ton projet) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Interop.Office
    Exactement, et n'oublie pas d'ajouter la référence pour ce faire : http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx

    Pour ajouter une référence en Visual Basic

    1. Dans l'Explorateur de solutions, double-cliquez sur le nœud Mon projet du projet.
    2. Dans le Concepteur de projets, cliquez sur l'onglet Références.
    3. Cliquez sur le bouton Ajouter pour ouvrir la boîte de dialogue Ajouter une référence.
    4. Dans la boîte de dialogue Ajouter une référence, sélectionnez l'onglet correspondant au type de composant à référencer.
    5. Sélectionnez les composants à référencer, puis cliquez sur OK.
    RemarqueConseil

    Vous pouvez sélectionner plusieurs composants en maintenant la touche CTRL enfoncée, à condition les composants se trouvent tous sur le même onglet.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Débutant] C#-creation fichier Excel
    Par nounou_bazid dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/04/2013, 16h20
  2. probleme creation fichier excel "en deux bouts"
    Par petitours dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/09/2012, 18h58
  3. Bug POI : ouverture de fichier excel versions 97-2003
    Par mouss4rs dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 06/02/2012, 22h07
  4. Réponses: 5
    Dernier message: 21/05/2009, 23h59
  5. [excel] changement date de creation fichier
    Par djibril dans le forum Excel
    Réponses: 5
    Dernier message: 14/03/2006, 19h47

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