Problème ouverture fichier.xls

gatoune78 Messages postés 46 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

J'ai développé une petite application pour un export de fichier excel , en VB.NET
J'arrive à ouvrir ces fichiers excel avec Excel 2010 mais absolument pas avec excel 2003 alors que mon fichier s'appelle "fichier.xls"

wbExcel.SaveAs("fichier.xls")

Quelqu'un a t il une idée pour me permettre d'ouvrir ce fichier avec Excel 2003?

Cordialement

27 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Remplace par 56
ou déclare la constante
Const xlExcel8 = 56
En principe ça devrait fonctionner.
2
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
wbExcel.SaveAs "fichier.xls", xlExcel8

A+
1
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

la ligne que vous donnez permet d'enregistrer un fichier, mais pas de l'ouvrir ???

Cordialement.
0
gatoune78 Messages postés 46 Statut Membre
 
oui, je sais, j'exporte le fichier ;-)

et après, je ne l'affiche pas tout de suite

En fait, c'est un autre utilisateur qui va chercher le fichier dans le répertoire et qui cherche ensuite à l'afficher sur son propre poste

Cdt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gatoune78 Messages postés 46 Statut Membre
 
Ca me dit que xlExcel8 n'est pas déclaré...

Est ce normal?

En tout cas merci ;-)
0
gatoune78 Messages postés 46 Statut Membre
 
Super merci !!

Et sinon, autre petite question, j'ai dans mon application la fonction
BorderAround2() pour permettre de mettre des bordures aux cellules

quand je lance l'application depuis un poste avec Excel 2010, cette fonction fonctionne à merveille

Avec le poste avec la version 2003, le programme plante

Pour info, le programme sert à exporter des données via un programme vb.net et donc mon poste est en Excel 2010 alors que celui des personnes pour qui je bosse est en Excel 2003...

Celà est il lié ?

Dois je crée un autre sujet ?

En tout cas un grand merci pour l'aide !!
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Dois je crée un autre sujet ?
Pas nécessaire.
Certaines propriétés et fonctions de 2010 n'existe pas en version 2003, tu dois en tenir compte.
Le mieux c'est de développer sur la version la plus basse utilisée, dans ton cas 2003.
Pour que ta macro fonctionne quand même tu peu mettre un
On Error Resume Next
Avant les lignes qui plante, mais cela va influencer le design dans le 2003
A+
Edit: Je ne l'ai même pas dans le 2007
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Tu pourrais aussi faire une double macro en fonction de la version de l'appli.
0
gatoune78 Messages postés 46 Statut Membre
 
Oui il faudrait peut être faire deux macros

j'ai trouvé sur internet que la "library" que j'utilise dans mon application est trop "élevée" pour Excel 2003.

Dans ce cas, ne devrais je pas télécharger une library compatible ?
Si oui, y a t il un endroit ou je peux la trouver ?

Cdt
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Non, faut pas ajouter de bibliothèque.
pour connaitre la version de l'application..
Dim V
    V = Application.Version

Pour le 2000 c'est "9.0" pour le 2007 c'est "12.0" pour le 2010 ?? je ne l'ai pas
et je verrais le code qui flanche..
if Application.Version = "XX.0" le code du 2010
Le code qui va dans ton 2010
Else
Le code qui va dans le 2003
End if
Éventuellement enlever le Option Explicit en haut de la page.
0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

pour info, les version d'office sont numérotées et incrémentées. Seulement, par superstition, la version 2010 n'est pas la 13.0 mais la 14.0

Cordialement.
0
gatoune78 Messages postés 46 Statut Membre
 
d'accord, je vais essayer ca :)

mais j'ai besoin de mon BorderAround2 dans la version 2003, je fais comment avec cette méthode ?

Cdt
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Je ne sais pas ce que tu fais avec BorderAround2 ? vu que je le connais pas
Montre cette partie de code
0
gatoune78 Messages postés 46 Statut Membre
 
'wsExcel.Range("B54:C54").BorderAround2()
'wsExcel.Range("C54:D54").BorderAround2()
'wsExcel.Range("D54:E54").BorderAround2()
'wsExcel.Range("E54:F54").BorderAround2()
'wsExcel.Range("F54:G54").BorderAround2()
'wsExcel.Range("G54:H54").BorderAround2()

en fait, c'est juste pour la mise en page ;-)
0
gatoune78 Messages postés 46 Statut Membre
 
En fait, ca sert à faire les bordures autour des cellules séléctionnées ;-)
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Quel type de bordure ça fait ?
Je pourrais voir pour transcrire ce code en 2003
0
gatoune78 Messages postés 46 Statut Membre
 
des bordures toutes simples en fait un trait noir fin
ah d'accord merci beaucoup

Cependant, pourrais je utiliser la microsoft excel 9.0 livrary depuis mon poste pour développer cette application ou pas du tout ?

Cdt ;-)
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
pas du tout et tu ne saurais pas installer le 2003, excel refuserait en disant qu'il y a une plus récente. Je le sais parce que quand j'ai changer de PC je vouais le 2000 et le 2007, j'ai du installer le 2000 en premier et ensuite le 2007 en gardant le 2000 (il pose la question).
Même en désinstallant ton 2010 ça n'irais pas, y reste des fichiers et tu pourras pas mettre le 2003.
Seul solution, développer sur un PC qui a le 2003.

des bordures toutes simples en fait un trait noir fin
Cadre sur la plage ou toutes les cellules?
0
gatoune78 Messages postés 46 Statut Membre
 
Je ne peux pas développer sur le PC qui a le 2003 car ils sont tous utilisés... (je suis en stage dans l'entreprise)

"des bordures toutes simples en fait un trait noir fin
Cadre sur la plage ou toutes les cellules? "
Sur les plages définies dans le code ;-)
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
OK
C'est le seul endroit où ça plante ?
Pour tester la suite met les lignes concernée en Rem
et relance la macro.
Pendant ce temps je vais t'arranger le code pour le 2003
0
gatoune78 Messages postés 46 Statut Membre
 
non, il y a une autre erreur :800A03EC mais je n'ai aucune idée de ou ça plante :/

c'est quoi REM ?

j'ai mis les lignes de BorderAround2 en commentaire et du coup, ça me donne la nouvelle erreur que j'ai postée plus haut....
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Le texte de l'erreur ?
Rem c'est mettre en remarque >> Une ' (apostrophe devant la ligne) ...Ahh = Commentaire
Pour voir où est l'erreur...
mettre un point d'arrêt sur la ligne de code qui suit tes... commentaire
Pour mettre un point d'arrêt..Mettre le curseur sur la ligne de code et taper F9.
Lancer la macro>>elle va s'arrêter sur cette ligne, chaque frappe de F8 passe à la commande suivante. Examiner sur quel ligne ça plante.
Sinon, poste la macro en entier, je verrais si je comprend.
0
gatoune78 Messages postés 46 Statut Membre
 
C'est effectivement ce que j'avais fait pour le REM

Je vous envoie tout le programme VB.net ? ( ce ne sont pas des macros excel mais des insertions dans un fichier gérées avec une base de donées et des data grid views)

;-)
0
gatoune78 Messages postés 46 Statut Membre
 
Voila le texte de la nouvelle erreur

Une exception non généré s'est produite
exception de HRESULT: 0x800a03ec
system.runtime.interopservice.comexception (HRESULT: 0x800a03ec)
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Oui mais.....
Maintenant que tu avance...
Tu développe une appli VB.Net, qui fait appel à Excel 2010
Tu a fait un setup de ton appli pour la mettre sur un autre PC ???
Explique comment tu pratique, j'ai l'impression que tu "oublie" certaines étape. :-))
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
gatoune78 Messages postés 46 Statut Membre
 
oui j'ai fait un setup pour un autre PC

Alors en fait, au départ, je crée une application excel

je crée les "titre" de mes tableaux, je mets tout en page quoi (fusion de cellules, bordures etc)

je fais mes connexions avec la base de données, j'exporte mes données dans des datagrid, et je les mets dans le fichier excel

et j'enregistre

puis j'affiche

Sur excel 2010, tout fonctionne et sur 2003 ça plante...
et je ne sais pas où ca plante car les pc sur lesquels j'execute le projet n'ont pas de visual studio installé

Cdt ;-)
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Oui, les méthode du 2010 et 2003 ayant étés (provisoirement) ôtées, faut aussi voir si les méthodes/propriétés que tu met dans ton VB (pour lequel tu ne m'a toujours pas communiquer la version) sont supportées par le FrameWork des autre PC hôte.
Sous quel OS sont les autre PC ? XP, Vista ???
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
gatoune78 Messages postés 46 Statut Membre
 
euh je dirais Vista ou Seven mais j'ai un gros doute...

j'ai écris plus haut que c'était un visual studio 2010 :-)

Puis je vous dire ca demain car j'ai quitté le lieu du stage et ne cotoyant pas les postes tous les jours je ne le connais pas par coeur :/

Cordialement
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Me rappelais plus pour le 2010 :-)) confondu avec Excel
OK : à demain.
0
gatoune78 Messages postés 46 Statut Membre
 
Bonjour, je reviens vers vous avec la configuration des postes

Alors la plupart des postes sont sous Windows Server 2003 avec Office 2000, ce sont des consoles

Et le reste sont sous XP

Cordialement
0