> Tous les forumsBureautique

 Macro Enregistrement CSV[RESOLU]
Statut du sujet : NON RESOLU Imprimer
 Tinet
  Posté le 02/06/2004 @ 17:16  
 Petit astucien

12 Messages
Bonjour à tous ceux qui liront. Quel serait le code pour réaliser une macro associée à un bouton de barre d’outil suivants les éléments ci-après : Origine le fichier est un .TXT avec des séparateurs ouvert sous Excel en convertissant celui-ci pour formater les colonnes. Après avoir traiter le fichier (toujours sous sa forme TXT), macro pour : enregistrer sous format CSV avec le même nom de fichier (il faut récupérer ce nom) dans un dossier C:\Temp et en validant les boites de Dialogues qui s’ouvrent (existence fichier : remplacement : oui), (information non compatible en csv : conserver ce format : oui), et fermer ce fichier par «fermer » en répondant Non à enregistrer les modifs de a.csv. J’ai réalisé cette macro, mais elle s’arrête aux boites de Dialogues. J'ai déjà visité le forum, mais il me semble pas avoir la réponse totale. Merci d'avance.
 Afficher le profil de TinetEnvoyer un message privé à Tinet
 
 
Publicité
 MSM65  Posté le 03/06/2004 à 21:20  
Petit astucien

296 Messages
Juste pour savoir, as-tu utilisé la fonction ci-dessous ? SendKeys String:="{enter}", Wait:=False Si non peux-tu nous donner ta solution? Merci
Afficher le profil de MSM65 Voir la configuration de MSM65Envoyer un message privé à MSM65
 Revenir en haut de la page
 Tinet  Posté le 04/06/2004 à 08:22  
Petit astucien

12 Messages
MSM65 a écrit :
Juste pour savoir, as-tu utilisé la fonction ci-dessous ? SendKeys String:="{enter}", Wait:=False Si non peux-tu nous donner ta solution? Merci
Il faut surtout merci à @+Thierry qui m'a fourni la solution. Si dessous le code que j'utilise : Sub EnregCSV() Dim Range As Object, Line As Object Dim TheText As String, TheSep As String, TheFullPath As String Dim TheFile As Variant Dim L As Integer Dim C As Byte 'TheSep = Chr(44) 'Séparator Comma "," 'TheSep = Chr(59) 'Séparator Semi-Colon ";" TheSep = Chr(58) 'Séparator Semi-Colon ":" TheFullPath = ActiveWorkbook.Path & "\" & Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 3) & "csv" Set Range = ActiveSheet.Range("A1:L" & ActiveSheet.Range("A65536").End(xlUp).Row) Open TheFullPath For Output As #1 For Each Line In Range.Rows L = L + 1 TheText = "" For C = 1 To 12 If C < 12 Then TheText = TheText & CStr(Cells(L, C).Text) & TheSep Else TheText = TheText & CStr(Cells(L, C).Text) End If Next Print #1, TheText Next Close ActiveWorkbook.Close 0 End Sub
Afficher le profil de TinetEnvoyer un message privé à Tinet
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page