Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauver un fichier XL lisible par les versions antérieures

4 réponses
Avatar
Super
Bonjour,

Je sauve des fichiers avec la méthde : ActiveWorkbook.Save
Ces fichiers ne sont lisibles que sur XL 2007 par défaut et pas sur les
versions antérieures.

J'ai tenté d'ajouter cela dans mon code :
Application.DefaultSaveFormat=xlExcel9795
mais ça m'a levé : 'Method DefaultSaveFormat' of Object '_Application' failed

Avez vous une idée ?

4 réponses

Avatar
papou
Bonjour
Si tu travailles à partir d'une version 2007, as-tu vérifié que la propriété
DefaultSaveFormat est disponible ?
(Je ne peux pas vérifier mais sur 2003 elle est bien là)
Et si c'est le cas, essaie d'utiliser plutôt la valeur de la constante
xlExcel9795 soit :
Application.DefaultSaveFormatC

Sinon tu as aussi la possibilité d'utiliser la méthode SaveAs mais ça ne va
probablement pas t'intéresser.

Cordialement
Pascal

"Super" a écrit dans le message de news:

Bonjour,

Je sauve des fichiers avec la méthde : ActiveWorkbook.Save
Ces fichiers ne sont lisibles que sur XL 2007 par défaut et pas sur les
versions antérieures.

J'ai tenté d'ajouter cela dans mon code :
Application.DefaultSaveFormat=xlExcel9795
mais ça m'a levé : 'Method DefaultSaveFormat' of Object '_Application'
failed

Avez vous une idée ?


Avatar
Super
Merci, ça marche comme ça :

ActiveWorkbook.SaveAs Filename:=cPathOrders , FileFormat:=xlExcel8

par contre, , FileFormat:=xlExcel8 n'existe pas dans la version antérieure
d'excel, mais ce n'est pas grave pour moi

"papou" a écrit :

Bonjour
Si tu travailles à partir d'une version 2007, as-tu vérifié que la propriété
DefaultSaveFormat est disponible ?
(Je ne peux pas vérifier mais sur 2003 elle est bien là)
Et si c'est le cas, essaie d'utiliser plutôt la valeur de la constante
xlExcel9795 soit :
Application.DefaultSaveFormatC

Sinon tu as aussi la possibilité d'utiliser la méthode SaveAs mais ça ne va
probablement pas t'intéresser.

Cordialement
Pascal

"Super" a écrit dans le message de news:

> Bonjour,
>
> Je sauve des fichiers avec la méthde : ActiveWorkbook.Save
> Ces fichiers ne sont lisibles que sur XL 2007 par défaut et pas sur les
> versions antérieures.
>
> J'ai tenté d'ajouter cela dans mon code :
> Application.DefaultSaveFormat=xlExcel9795
> mais ça m'a levé : 'Method DefaultSaveFormat' of Object '_Application'
> failed
>
> Avez vous une idée ?





Avatar
Jacques93
Bonjour Super et papou,
Super a écrit :
Bonjour,

Je sauve des fichiers avec la méthde : ActiveWorkbook.Save
Ces fichiers ne sont lisibles que sur XL 2007 par défaut et pas sur les
versions antérieures.

J'ai tenté d'ajouter cela dans mon code :
Application.DefaultSaveFormat=xlExcel9795
mais ça m'a levé : 'Method DefaultSaveFormat' of Object '_Application' failed

Avez vous une idée ?



La constante xlExcel9795 existe bien sous Excel 2007 (et a bien la
valeur = 43), mais n'est plus supportée apparemment, ni avec
Application.DefaultSaveFormat, ni avec la méthode ActiveWorkbook.SaveAs.

Tu n'es apparemment pas le premier à tomber sur ce problème :

<http://microsoft-personal-applications.hostweb.com/TopicMessages/microsoft.public.excel.programming/2041034/1/Default.aspx>

L'explication semble du au fait que ce format, sauvegarde en fait deux
fichiers en un :

<http://office.microsoft.com/en-us/ork2000/HA011381621033.aspx>

et une méthode de contournement est d'utiliser (éventuellement en
adaptant) la routine de Ron de Bruin, citée dans le premier lien.

<http://www.rondebruin.nl/saveas.htm>

en déterminant quand tu as besoin d'un format Excel 95 (xlExcel5), et
quand tu as besoin d'un format Excel 97-2003 (xlExcel8, à première vue)

--
Cordialement,

Jacques.
Avatar
Jacques93
Super a écrit :
Merci, ça marche comme ça :

ActiveWorkbook.SaveAs Filename:=cPathOrders , FileFormat:=xlExcel8

par contre, , FileFormat:=xlExcel8 n'existe pas dans la version antérieure
d'excel, mais ce n'est pas grave pour moi




[...]

En, mettant

FileFormat:V

qui est la valeur de xlExcel8, lorsque tu utilises une version
antérieure (vérifié uniquemet sous Excel 2003) cela affecte la valeur :

-4143

à FileFormat ce qui équivaut à xlWorkbookNormal (c'est à dire le format
par défaut)

--
Cordialement,

Jacques.