Se connecter avec
S'enregistrer | Connectez-vous

Export données Excel en fichier texte

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Citation :
Hello,

appel à un pro des macros Excel pour une besoin urgent qui me rend folle...

je dois sélectionner une plage de données sous excel
retirer les lignes vides
exporter ces données dans un lieu précis au format Texte (séparateur : tabulation)
renommer le fichier aaa.bb

quelqu'un est-il inspiré?

malo


Perso, j'importerai les données excel dans une table (dbase, visual foxpro,access) ensuite je fais le ménage pour garder de ce qui m'intéresse, un petit triet pour finir un export au format texte là où tu veux.

ca devrait remplir la mission..
export dans un fichier la zone selectionnée sous excel sans export des lignes vides..

  1. Sub tmp()
  2. ' Declaration variables
  3. Dim i, j, nl, nc As Integer
  4. Dim t As String
  5.  
  6. ' Ouverture fichier
  7. Open "C:\aaa.bb" For Output As #1
  8. nc = Selection.Columns.Count
  9. nl = Selection.Rows.Count
  10.  
  11. ' On boucle sur la selection
  12. For i = 1 To nl
  13. t = ""
  14. For j = 1 To nc
  15. ' ajout de la tabulation comme separateur
  16. If t <> "" Then t = t & Chr(9)
  17. t = t & ActiveWindow.RangeSelection.Next(i, j - 1)
  18. Next j
  19. ' Ecriture de la ligne dans le fichier si non vide
  20. If t <> "" Then Print #1, t
  21. Next i
  22.  
  23. ' Fermeture fichier
  24. Close #1
  25. End Sub

sinon pour que l'utilisateur selectionne un fichier texte d'export, tu peut remplacer le debut par :

  1. ' Declaration variables
  2. Dim i, j, nl, nc As Integer
  3. Dim FileName, t As String
  4.  
  5. ' Demande fichier de sauvegarde
  6. FileName = Application.GetSaveAsFilename(Nom_Fichier, "Text Files (*.txt), *.txt")
  7.  
  8. ' Ouverture fichier
  9. Open FileName For Output As #1
  10.  
  11. ....

bonjour,
merci pour cette fonction qui m'a fait gagner beaucoup de temps!
cependant j'ai un nouveau petit problème.

Je veux utiliser cette fonction sur des données de type :

24 | 21 | 00 | 810-11300 |

je souhaiterai récupérer :
24200081011300
malheureusement j'ai:
2421081011300
je récupere 0 au lieu de 00

merci d'avance por votre aide

merci,
malheureusement, je n'arrive pas à implémenter correctement la fonction
FormatNumber pour cette application.
Si quelqu'un pouvait me donner une ligne de code pour eclaicir les choses.

Ps: je ne suis pas un programmeur professionnel.
Lassé par la pub ? Créez un compte