Sauver un fichier XL lisible par les versions antérieures

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
papou
Le #15388091
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"
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 ?


Super
Le #15388081
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"
> 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 ?





Jacques93
Le #15388071
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 :


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


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


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.
Jacques93
Le #15388061
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.
Publicité
Poster une réponse
Anonyme