Excel vba : forcer la création d'un classeur format xlsx [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
vendredi 3 juillet 2015
Statut
Membre
Dernière intervention
3 juillet 2015
-
Messages postés
16541
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
-
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

5 réponses

Messages postés
15352
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
28 septembre 2020
1 362
Bonjour,

je reverifie
Messages postés
16541
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
9 746
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
Messages postés
15352
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
28 septembre 2020
1 362
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
Messages postés
2
Date d'inscription
vendredi 3 juillet 2015
Statut
Membre
Dernière intervention
3 juillet 2015

... 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.
Messages postés
15352
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
28 septembre 2020
1 362
Re,

trouve avec enregistreur de macro:

a mettre avant la creation classeur

    Application.DefaultSaveFormat = xlOpenXMLWorkbook
Messages postés
16541
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
9 746
"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...
Messages postés
15352
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
28 septembre 2020
1 362 >
Messages postés
16541
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020

Bonjour,

C'est pas faux ....
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.
Messages postés
16541
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 septembre 2020
9 746
Merci pour le retour en tous les cas ! ;)
m@rina