| | 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.
| | |
| |
| 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 | | | | | 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 | | | |
| | 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
|
|