Problème ouverture fichier.xls

Fermé
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012 - Modifié par gatoune78 le 12/01/2012 à 11:25
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 16 janv. 2012 à 10:35
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 12:03
Remplace par 56
ou déclare la constante
Const xlExcel8 = 56
En principe ça devrait fonctionner.
2
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 11:58
Bonjour,
wbExcel.SaveAs "fichier.xls", xlExcel8

A+
1
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 304
12 janv. 2012 à 11:27
Bonjour,

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

Cordialement.
0
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 11:29
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 12:00
Ca me dit que xlExcel8 n'est pas déclaré...

Est ce normal?

En tout cas merci ;-)
0
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 13:31
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 14:06
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 14:08
Tu pourrais aussi faire une double macro en fonction de la version de l'appli.
0
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 14:12
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 14:29
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 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 304
12 janv. 2012 à 15:05
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 14:33
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 14:38
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 14:42
'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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 14:42
En fait, ca sert à faire les bordures autour des cellules séléctionnées ;-)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 14:44
Quel type de bordure ça fait ?
Je pourrais voir pour transcrire ce code en 2003
0
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 14:49
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 15:37
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 15:50
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
12 janv. 2012 à 15:57
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 16:07
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 16:17
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 16:20
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 16:29
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 16:55
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
Modifié par gatoune78 le 12/01/2012 à 17:08
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 17:29
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 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
12 janv. 2012 à 17:19
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 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
Modifié par lermite222 le 12/01/2012 à 17:34
Me rappelais plus pour le 2010 :-)) confondu avec Excel
OK : à demain.
0
gatoune78 Messages postés 42 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 30 janvier 2012
13 janv. 2012 à 08:35
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