amelioration de l'interface document.xls document.txt

  • Initiateur de la discussion Thomas
  • Date de début
T

Thomas

Guest
Salut à tous,


voici une petite macro qui permet de passer du format xls au format txt.
j'aimerais la faire évoluer afin de ne copier que les cellules non vide de mon document. Pour cela, je pense qu'un filtre en haut de la colonne est la méthode la plus rapide pour déterminer les cellules non vides, par contre je ne connais pas le code pour copier que ces cellules dans mon fichier texte.

Le fichier texte générer est enregistrer avec l’accord de l’utilisateur dans le dossier de travail sous le nom HFM suivi de la date du jour.

Merci de votre aide.

Thom
 

Pièces jointes

  • copie.zip
    12.1 KB · Affichages: 41
  • copie.zip
    12.1 KB · Affichages: 45
  • copie.zip
    12.1 KB · Affichages: 39
T

Thomas

Guest
Salut Chris, salut le forum

Je cherche à créer une macro qui permet de copier toutes les cellules non vide d’une colonne Excel dans un fichier text sans qu’il y est de guillemet au début ou à la fin de la ligne de texte, manuellement je sais que ça marche, mais l’enregistreur de macro ne permet pas de générer le code.
Le problème de la macro pressente dans le premier message est qu’elle ne tient pas compte du filtre puisqu’elle incrémente les lignes à copier.
Quelqu’un sait il activer les cellules du filtre et les copier dans un fichier texte sans générer de guillemet dans ce dernier tout en proposant un enregistrement par défaut.
Merci de votre aide.

Thom
 
C

chris

Guest
Bonjour
Excel mets des " quand il y a des caractères partuliers dans une cellule comme apostrophe, virgule ou point sinon il ne met rien.
Ton PB vient des ;
Tu ne peux traiter le Pb qu'en aval, éventuellement en utilisant word pour enlever les " (possible par macro depuis Excel).

En macro c'est comme à la main : si tu sélectionnes les colonnes filtrées ou la plage filtreés et fais un copier coller, cela ne copie que les lignes affichées. Il est inutile de faire une boucle.
Quelque chose comme
Range("C3:C" & ligne3).copy
Workbooks.Add Template:="Classeur"
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

suivi d'un saveas en mode text et d'une fermeture du classeur suffit puisque tu n'ajoutes pas tes lignes dans un fichier texte existant.


Chris
 

Discussions similaires

Réponses
5
Affichages
210

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 715
Messages
2 091 293
Membres
104 837
dernier inscrit
baxx86