Excel vba : forcer la création d'un classeur format xlsx

Résolu
XLfan Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 23911 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,
dans 2013, je crée un nouveau classeur avec ?Workbooks.Add (xlWBATWorksheet)?, mais quand excel est configuré pour créer un classeur ?Classeur Excel 97-2003? (Fichier / Options / Options Excel / Enregistrement), je ne peux disposer que de 65.536 lignes alors qu'il m'arrive d'en avoir besoin de plus...
Donc ma question est la suivante :
Comment forcer la création d'un classeur directement en xlsx ou xlsm ou xlsb ?
Merci d'avance.
XLfan
A voir également:

5 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Bonjour,

je reverifie
0
m@rina Messages postés 23911 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour,

Voilà ce que tu peux faire :
- Tu crées un classeur modèle version 2013 et tu l'enregistres dans le dossier Templates avec l'extension xltx.
- Tu modifies ton code en mettant le nom de ce modèle 2013 à la place de la constante :
Workbooks.Add ("classeur2013.xltx")


Le nouveau classeur créé sera automatiquement au format du modèle.

m@rina
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Re,

chez moi j'ai modifie: option, enregistrement: Classeur Excel 97-2003

avec le code VBA creation classeur et sauvegarde: c'est un classeur xlsx
0
XLfan Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
... je suis d'accord avec tout ce que vous dites, mais quand je crée un nouveau classeur, si la config est "Classeur Excel 97-2003" je n'ai que 65.536 lignes alors qu'il m'en faut parfois plus.
Ma macro doit pouvoir tourner sur n'importe quelle config d'Excel >= 2007.
Bien sûr que quand je l'enregistre, j'ai le choix du format, mais si la macro s'arrête en me disant qu'il n'y a pas assez de lignes, ce n'est pas la peine de chercher à l'enregistrer.
Je ne veux pas non plus commencer par enregistrer le fichier afin que l'utilisateur puisse en faire ce qu'il veut.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Re,

trouve avec enregistreur de macro:

a mettre avant la creation classeur

    Application.DefaultSaveFormat = xlOpenXMLWorkbook
0
m@rina Messages postés 23911 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
"je suis d'accord avec tout ce que vous dites"... sauf qu'a priori tu n'as pas essayé ma solution qui ne t'oblige pas à faire un enregistrement...
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714 > m@rina Messages postés 23911 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour,

C'est pas faux ....
0

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

Posez votre question
XLfan
 
m@arina, ... ta solution fonctionne, bien sûr, mais elle m'obligerait à enregistrer un fichier xltx sur la machine de l'utilisateur et ça, je n'aime pas trop. Bien sûr, je peux le créer et l'effacer après. Mais parfois les répertoires cible habituels sont protégés... C'est pour cela que je laisse l'initiative à l'utilisateur d'enregistrer où il veut. C'est à lui de savoir où il peut le mettre. Ça peut aussi l'aider à le retrouver (parfois).

Je vais utiliser ce que propose f894009 de la façon suivante :

FORMAT_ORIGINE = Application.DefaultSaveFormat
Application.DefaultSaveFormat = xlOpenXMLWorkbook
Workbooks.Add
Application.DefaultSaveFormat = FORMAT_ORIGINE

afin de ne pas modifier le réglage par défaut de l'utilisateur.

J'ai déjà vu des macros qui masquaient la barre de formules et qui ne la ré-affichait pas à la fin. Résultat : en Excel 2003, les utilisateurs ne sont pas forcément des habitués à se promener dans les options. Dans les versions plus récentes, tout le monde peut le trouver dans l'onglet Affichage.

Donc j'ai pris l'habitude de ne pas modifier la configuration par défaut des utilisateurs afin d'éviter les doléances.

Merci encore à tous de m'avoir lu et d'avoir pris le temps de me répondre.
0
m@rina Messages postés 23911 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Merci pour le retour en tous les cas ! ;)
m@rina
0