Méthode SaveAs fonctionne sous Excel 2003 mais pas sous 2000...

cs_Pajak Messages postés 5 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 17 février 2009 - 16 févr. 2009 à 16:33
hebus16 Messages postés 80 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 2 octobre 2009 - 17 févr. 2009 à 15:51
Bonjour tout le monde !

Un petit problème avec la méthode SaveAs et la boîte de dialogue associée...
La ligne suivante fonctionne sous VBA avec Excel 2003 (et 2007), mais ne fonctionne plussous Excel 2000 :

         Application.Dialogs(xlDialogSaveAs).Show ("NouveauProjet.xls")

Pour info cette ligne est appelée par un click_bouton dans une UserForm, et j'obtiens une " Erreur d'exécution '91' " sans que la boîte de dialogue ne souvre.
J'ai testée la formule suivante, trouvée sur ce forum, pour le cas où la référence "Microsoft Excel Object Library" ne soit pas cochée (elle l'est, d'ailleurs) :

          Application.Dialogs(5).Show ("NouveauProjet.xls")

Et visiblement ça ne change rien !!!
Impossible non plus de trouver une solution alternative.

Merci d'avance pour toute ébauche de solution !

8 réponses

hebus16 Messages postés 80 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 2 octobre 2009 1
17 févr. 2009 à 13:48
Salut,

  je peux pas vérifier vu que je n'ai plus le 2000 mais regarde si ta fonction ne renvoie pas un objet ... j'ai des doutes mais vu le numéro d'erreur ... il considère qu'un objet n'est pas définit ....

un petit F1 sur le show ou sur le Dialogs devrait t'en dire plus ...

bon courage
0
cs_Pajak Messages postés 5 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 14:09
Petite précision : je n'ai pas Excel 2000 non plus ! (bientôt sans aucun doute...)

Je travaille à distance sur 2003, et les utilisateurs de la macro sur 2000...
Chez moi cela fonctionne, et chez eux non !
Il faut savoir qu'avant cette petite ligne supplémentaire, tout marchait très bien chez eux.

Question : "Comment est-il possible qu'un objet soit manquant (erreur 91) dans Excel 2000 et pas dans Excel 2003, sachant d'après une source extérieure que cette commande fonctionne sous Excel 2000 ???"

- Ca ne vient a priori pas d'Excel 2000 puisque la commande est ok.
- Ca ne vient a priori pas des références associées à cette méthode puisqu'on peut contourner avec Dialogs(5).
- Ca ne vient a priori pas des lignes de code puisque ça tourne sur Excel 2003.

- Eh ben, je suis mal moi.
0
hebus16 Messages postés 80 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 2 octobre 2009 1
17 févr. 2009 à 14:16
ah dans le doute, un truc stupide... il est possible que tes utilisateurs de ta macro n'aient pas ton NouveauProjet.xls

Application.Dialogs(5).Show ("NouveauProjet.xls")

genre qu'ils aient renommé ton fichier ^^ truc simple mais qui peut énerver
0
cs_Pajak Messages postés 5 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 14:49
Hé béé...

Ce peut être la bonne piste en effet...
"NouveauProjet.xls" est sensé être le nom du fichier par défaut affiché dans la boîte dialogue Enregistrer Sous.

J'ai l'impression que "NouveauProjet.xls" ne convient pas pour le nom par défaut sous Excel 2007, et qu'il faut plutôt écrire "NouveauProjet" tout court...
En revanche, sous Excel 2003, "NouveauProjet.xls" tout comme "NouveauProjet" fonctionnent et affichent "NouveauProjet" dans le nom par défaut.

Est-ce qu'une âme charitable aurait le temps d'infirmer/confirmer cette supputation sous Excel 2000 ??
0

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

Posez votre question
cs_Pajak Messages postés 5 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 15:13
Je ne sais pas éditer mes messages !...

Du coup je reviens sur mon post précédent :

En effet les nouvelles extensions étaient en cause pour Excel 2007, il suffisait de renseigner ".xlsm" ou ".xlsx" et non pas ".xls"...

A priori donc, mon problème ne vient pas de l'affichage du nom par défaut sous Excel 2000.

Zut.

Merci tout de même Hebus16, mais l'argument "NouveauProjet.xls" définit simplement le nom du fichier à enregistrer par défaut dans la boîte de dialogue.
En aucun cas l'utilisateur n'a besoin de "posséder" ce fichier...
0
hebus16 Messages postés 80 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 2 octobre 2009 1
17 févr. 2009 à 15:16
Essaye ça ... je suis pas convaincu mais on ne sait jamais

Dim WB_SAUVE as Workbook

Set WB_SAUVE = Application.Dialogs(5).Show ("NouveauProjet.xls")

là je vais commencer par manquer d'idée ... sans le système ça va être chaud
0
cs_Pajak Messages postés 5 Date d'inscription mercredi 27 décembre 2000 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 15:47
Au temps pour moi !

Je viens d'installer enfin Excel 2000, et ... ça marche !

Bon du coup ça ne me fait que moyennement rire ; parce que j'imaginerais bien un problème d'installation incomplète d'Excel chez mes utilisateurs, où alors des références pas au rendez-vous... Je pense que la seule solution restante consiste à aller voir directement sur leurs bécanes...

Merci pour ton aide Hebus, je posterai la solution d'ici quelques jours j'espère...
0
hebus16 Messages postés 80 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 2 octobre 2009 1
17 févr. 2009 à 15:51
... ça sent les postes foireux où les users pas capable d'utiliser ta macro .... moi j'ai connu ça depuis je veux plus les voir :p fais attention on commence comme ça et on finit asocial mdr
0