Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3024 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  transfert données Excel vers txt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

transfert données Excel vers txt

n°1817739
jimy_le_sa​int
Posté le 27-11-2008 à 14:56:10  profilanswer
 

Bonjour,
J'ai un souci sur l'ecriture d'un petit code VB me permettant de faire un transfert de quelques données de Excel vers un fichier TXT.
 
 voici le code:
 
 
Sub Générer_PAT()
'
' Générer_PAT Macro
'
' Touche de raccourci du clavier: Ctrl+Maj+M
 
 ' '  Declaration variables
    Dim FileName, t As Integer
 
'Selection de la zone à copier
   
ActiveSheet.Range("K2" ).CurrentRegion.Select
Selection.Copy
 
 
 
 '  Demande fichier de sauvegarde
     FileName = Application.GetSaveAsFilename(Nom_Fichier, "Text Files (*.txt), *.txt" )
 
 '  Ouverture fichier
     Open FileName For Output As #1
     
         
         t = Sendkeys "^v"
         
'          Ecriture de la ligne dans le fichier si non vide
           Print #1, t
           
 '  Fermeture fichier
 
Close #1
End Sub
 
Le retour de ce code ne fonctionne par car il m'indique à chaque fois qu'il ne reconnait pas la formule t = sendkeys "^v", c'est à dire le collage du presse papier !!! je ne suis pas expert alors si vous pouviez m'aider je vous en remercie.
 
 

mood
Publicité
Posté le 27-11-2008 à 14:56:10  profilanswer
 

n°1817741
Ptit loup
Quand c'est flou, y'a un loup
Posté le 27-11-2008 à 14:58:10  profilanswer
 

Si tu enregistres une macro à la main ? il t'indique quoi ?
(arf, il doit pas te faire le vrai copier coller)
Que dit l'aide sur "copy/paste" ?

n°1824275
SuppotDeSa​Tante
Aka dje69r
Posté le 09-12-2008 à 15:55:44  profilanswer
 

Bonjour
 
Ca ne marche pas comme ca, tu ne peux affecter a une variable, le resultat d'un Sendkeys, qui plus est le 'collé'.
 
Il faut passer par une étape intermediaire, comme par exemple creer un nouveau fichier, coller ce que tu veux dedans et exporter ce dit fichier en txt/csv, ou une nouvelle feuille et exporter la feuille en txt/csv. Ou comme dans ton exemple, si tu n'as qu'une cellule, affecter à ta variable 't' la valeur de la cellule au lieu du SendKeys :  
t = ActiveSheet.Range("K2" ).value
 
Cordialement


---------------
Soyez malin, louez entre voisins !
n°1824282
Ptit loup
Quand c'est flou, y'a un loup
Posté le 09-12-2008 à 15:59:52  profilanswer
 

pour compléter ce que que dit dje... en fait, ça serait bien de dire ce que tu veux précisément "enregistrer" dans ton fichier...
 
Ensuite, en effet, le plus "simple" reste la création d'un nouveau fichier, et tu y ajoutes tout dedans...
Tu dois aussi pouvoir "écrire" ton fichier en ajoutant ton texte petit à petit (mais bon, là pour le coup, Excel ne va plus servir à grand chose)
 
EN résumé
 
1. création d'un nouveau classeur
2. recopiage des données dans ce classeur Excel
3. méthode saveas sur ce nouveau classeur avec les options qui t'intéressent, csv, etc...
4. fermeture/suppression de ce classeur "Excel" (vu que c'est juste le csv qui t'intéresse toi)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  transfert données Excel vers txt

 

Sujets relatifs
Tableau multi avec plusieurs donneesProblème avec la fonction Vlookup [VBA Excel]
[résolu] tester la validité de liens vers des imagesTransformation Tableau en Liste de Données
Problème connexion base de donnéesderniere semaine du mois ? [VBA Excel] [RESOLU]
Exceltransfert de données a partir du c++ vers Excel
Transfert de données Excel vers une base MySQLprobleme transfert de données d'access vers excel
Plus de sujets relatifs à : transfert données Excel vers txt


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR