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 22231 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 21 avril 2025 - 6 juil. 2015 à 02:29
m@rina Messages postés 22231 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 21 avril 2025 - 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
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:
- Créer un nouveau fichier excel vba
- Créer un compte google - Guide
- Comment créer un nouveau groupe sur whatsapp - Guide
- Creer un fichier .bat - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
5 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
Modifié par f894009 le 3/07/2015 à 15:34
Modifié par f894009 le 3/07/2015 à 15:34
Bonjour,
je reverifie
je reverifie
m@rina
Messages postés
22231
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
21 avril 2025
11 425
3 juil. 2015 à 15:38
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 :
Le nouveau classeur créé sera automatiquement au format du modèle.
m@rina
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
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
3 juil. 2015 à 15:40
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
chez moi j'ai modifie: option, enregistrement: Classeur Excel 97-2003
avec le code VBA creation classeur et sauvegarde: c'est un classeur xlsx
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
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.
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.
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
3 juil. 2015 à 17:17
3 juil. 2015 à 17:17
Re,
trouve avec enregistreur de macro:
a mettre avant la creation classeur
trouve avec enregistreur de macro:
a mettre avant la creation classeur
Application.DefaultSaveFormat = xlOpenXMLWorkbook
m@rina
Messages postés
22231
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
21 avril 2025
11 425
Modifié par m@rina le 3/07/2015 à 18:20
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...
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
>
m@rina
Messages postés
22231
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
21 avril 2025
3 juil. 2015 à 18:39
3 juil. 2015 à 18:39
Bonjour,
C'est pas faux ....
C'est pas faux ....
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.
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.
m@rina
Messages postés
22231
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
21 avril 2025
11 425
6 juil. 2015 à 02:29
6 juil. 2015 à 02:29
Merci pour le retour en tous les cas ! ;)
m@rina
m@rina