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

Résolu/Fermé
XLfan Messages postés 2 Date d'inscription vendredi 3 juillet 2015 Statut Membre Dernière intervention 3 juillet 2015 - 3 juil. 2015 à 15:14
m@rina Messages postés 20885 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 septembre 2024 - 6 juil. 2015 à 02:29
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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
Modifié par f894009 le 3/07/2015 à 15:34
Bonjour,

je reverifie
0
m@rina Messages postés 20885 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 septembre 2024 11 325
3 juil. 2015 à 15:38
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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
3 juil. 2015 à 15:40
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 vendredi 3 juillet 2015 Statut Membre Dernière intervention 3 juillet 2015
3 juil. 2015 à 17:10
... 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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
3 juil. 2015 à 17:17
Re,

trouve avec enregistreur de macro:

a mettre avant la creation classeur

    Application.DefaultSaveFormat = xlOpenXMLWorkbook
0
m@rina Messages postés 20885 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 septembre 2024 11 325
Modifié par m@rina le 3/07/2015 à 18:20
"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 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708 > m@rina Messages postés 20885 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 septembre 2024
3 juil. 2015 à 18:39
Bonjour,

C'est pas faux ....
0

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

Posez votre question
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 20885 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 septembre 2024 11 325
6 juil. 2015 à 02:29
Merci pour le retour en tous les cas ! ;)
m@rina
0