Enregistrement format spécifique [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 28-06-2013 à 13:38:35
macrosoucis a écrit : Il est enregistré par ce code:
|
Certainement pas ‼ Rien qu'en lisant l'aide VBA de cette méthode …
Identifiez l'instruction enregistrant le fichier afin de voir ses options dans son aide.
Plus disponible jusqu'en fin d'après-midi …
Marsh Posté le 28-06-2013 à 13:53:28
Oui j'ai compris comme vous me l'aviez dit:
Citation : |
Mon code d'enregistrement est:
Code :
|
Le fichier enregistré doit être en format .asc mais tabulé dans la mesure où lorsque je l'ouvre sur le Bloc Note par exemple, le format de la feuille doit être identique à celle sur Excel ( actuellement il y a pavé incompréhensible écrit en japonais)
Aucun soucis Marc L si vous n'êtes pas disponible cet après-midi, merci d'avoir prévenu !
Marsh Posté le 28-06-2013 à 14:02:57
Citation : En lisant l'aide de la méthode Close associée à un objet Workbook, |
elle = Close ‼
Mais comme ce n'est plus un fichier Excel (j'avais pourtant émis un p'tit doute lors du précédent sujet … ),
il faut retourner voir du côté de la méthode SaveAs et de sa propriété FileFormat …
Edit : à partir de la version 2007 (quid de la vôtre …), il y a une nouvelle fonction d'export …
Marsh Posté le 28-06-2013 à 14:30:14
D'accord ! Je n'avais pas saisi votre suggestion sur le format d'enregistrement...
Merci grâce à la méthode SaveAs associée au FileFormat c'est déjà mieux ! La tabulation existe lorsque j'ouvre le fichier avec le bloc note...Le soucis est que j'enregistre le fichier en format Texte (séparateur: Tabulation) mais je voudrais également que ça soit en format .asc ? Je ne sais pas si c'est possible...
Mon code actuel qui fonctionne "provisoirement" pour l'enregistrement en format texte tabulé:
Code :
|
Je vais réanalyser ligne par ligne ! Merci déjà de m'avoir mis sur la bonne piste !!
Edit : Je dispose d'excel 2010
Marsh Posté le 28-06-2013 à 18:41:50
La fonction à partir de 2007 est en fait réservée aux fichiers .pdf & .xps …
Un format .asc ne me dit rien.
Mais si Excel arrive à l'ouvrir et n'est pas pourtant dans sa liste de types de fichiers,
c'est donc un format connu, certainement un fichier texte à séparateur tabulation;
je ne vois pas alors de difficulté … Ne pas confondre format de fichier et nom de fichier (son extension) !
Marsh Posté le 29-06-2013 à 14:43:24
Oui Excel parvient à traiter ce type de fichier ! Je pense ( même certain) que le format de fichier doit être en texte à séparateur tabulation et son extension en .asc pour que le fichier puisse être ouvert et surtout lu par le logiciel...
J'espère ne pas avoir confondu format et extension ci-dessus ...
Merci pour cette précision !!
Marsh Posté le 01-07-2013 à 09:14:39
Bon après de longues tentatives, je bloque vraiment sur ce point...
Je comprends pas comment "organiser" le code car sur mon code précédent je dis bien que le type de fichier est : Fichier ASC; son extension en .asc et qu'il doit être enregistré en format texte tabulation...
Pourtant il enregistre en format texte et en .txt....
Marsh Posté le 01-07-2013 à 09:43:57
Bon j'ai enfin réussi à sauvegarder dans le bon format avec la bonne extension !
Code :
|
Reste maintenant à voir le problème pour la sauvegarde de plusieurs feuilles étant donné qu'en format texte, on ne peut enregistrer que feuille par feuille d'un classeur non ?
EDIT1: le problème avec le Split se confirme...lorsque je veux enregistrer 2 feuilles ( somme,median), uniquement le spectre somme est enregistré ...
Et j'ai un petit soucis lors de la ligne 4 du code, la fermeture du classeur n'est pas automatisée ...
EDIT2: Ce soucis est réglé il fallait simplement ajouté False ou True à la fin ...
Marsh Posté le 01-07-2013 à 12:33:53
Je ne visualise pas le problème du Split, cela manque de clarté …
Marsh Posté le 01-07-2013 à 13:53:58
Voici mon code actuel pour la partie enregistrement:
Code :
|
Le soucis apparaît à la ligne 4 ...Imaginons que je souhaite enregistrer les feuilles "somme et median", je rentre donc : somme,median dans la boite de dialogue et bien juste la feuille somme du classeur est enregistré et non les feuilles sommes et médians...
Peut être faut-il mettre en place une fonction ( Dir ?) pour dire que lorsque je séléctionne plusieurs feuilles d'un classeur à copier puis à enregistrer, l'enregistrement de chaque feuille se fasse successivement ... En effet avec mon code actuel, il est logique de ne pas pouvoir sauvegarder 2 feuilles d'un classeur dans un même fichier texte unique ...
je sais pas si vous y voyez plus clair ...
merci déjà en tout cas !! Vous êtes le seul forumeur actif j'ai l'impression c'est vraiment sympa
Marsh Posté le 01-07-2013 à 14:51:14
Et oui en fait c'est logique car le fichier enregistré n'est plus un classeur Excel composé de feuilles
mais un simple fichier texte créé à partir de la feuille active !
Donc toute la logique est à revoir !
Il faut en fait créer un nouveau classeur puis y regrouper dans une feuille unique les données à exporter en fichier texte …
Marsh Posté le 01-07-2013 à 15:23:40
Oui et non ...
Je pensais créer une boucle agissant sur toutes les feuilles d'un classeur donnée...Donc imaginons qu'un classeur contienne 2 feuilles, je voudrais alors que l'opération de sauvegarde agisse sur chacune des feuilles...
Mon code actuel qui ne marche pas:
Code :
|
Marsh Posté le 01-07-2013 à 19:29:17
Oui un message d'erreur...
Citation : Erreur d'exécution '1004': |
Je ne sais pas pourquoi....
Marsh Posté le 01-07-2013 à 19:54:34
De toute manière avec la ligne n°9 toutes les feuilles sont enregistrées sans se préoccuper du choix ! …
Dans le cas où chacune des feuilles dans choix doivent être exportées séparément dans des fichiers .asc distincts,
c'est assez simple. Sinon, je n'ai pas assez de précisions afin de proposer une solution …
Marsh Posté le 02-07-2013 à 09:11:20
Je suis d'accord avec vous pour la ligne n°9...cette ligne est censée enregistrer toutes les feuilles présentes dans le nouveau classeur généré par choix . Seulement 1, 2 ou 3 feuilles sont générées par choix dont seules ces 3 feuilles peuvent être enregistrées non ?
Ce que je souhaite c'est enregistré chacune des feuilles de choix (classeur généré (ne contenant pas la macro) contenant les feuilles entrées dans la Inputbox) successivement ce format et extension (texte avec tabulation .asc)...en gros faire une boucle d'enregistrement pour chaque feuille du classeur .
Cependant il y a tout d'abord ce message d'erreur que je ne comprends pas ....
Je ne sais pas si vous y voyez mieux ?
Marsh Posté le 02-07-2013 à 11:59:41
Pas vraiment mais si la réponse à ma question est oui :
Code :
|
Marsh Posté le 02-07-2013 à 12:24:05
Et bien merci beaucoup !! Je ne sais pas comment vous remercier ! Cela fonctionne mais j'ai remplacé une partie votre ligne 11 par celle-ci étant donné que je voulais vraiment la boite de dialogue Enregistrer sous afin de nommer à souhait le fichier.
Code :
|
Il me reste encore bien des choses à comprendre...En tout cas, ça donne vraiment envie d'aider les autres ce que vous faites...
Je n'hésite plus à lire les problèmes postés et à m'y intéresser pour apprendre !
Marsh Posté le 28-06-2013 à 13:20:41
Bonjour à tous,
Je problème que je rencontre a lieu dans le code au niveau de l'enregistrement de ma feuille Excel.
Le fichier que j'enregistre doit être au même format qu'initialement ( c'est à dire avant le traitement du fichier par la macro)
Le fichier est en .asc et est ouvert via la fonction dir par ce code:
Il est enregistré par ce code:
Le soucis est que le fichier est bien enregistré au bon format (.asc) mais lorsque je l'ouvre sur le logiciel ( qui gère les fichiers .asc) rien ne se passe ...je pense que le format d'enregistrement n'est pas le même que lors de l'ouverture ( il faut prendre en compte la première partie du code je pense lignes 4 et 5) mais je ne sais pas comment agir sur le code pour que ça marche...
Je pensais aussi au format texte avec tabulation auquel serait conjugué le .asc...je ne sais plus
Merci de votre aide !