Option Explicit Private Sub Form_Load() '# Permet de rafraichir les Drive/Dir/File d'un seul coup... Drive1_Change End Sub Private Sub Drive1_Change() On Local Error Resume Next Dir1.Path = Drive1.Drive If Err Then MsgBox "Disque " & Drive1.Drive & " non prêt", vbExclamation, Err.Description '# On annule la selection du drive Drive1.Drive = Left$(Dir1.Path, 2) End If End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path File1.Pattern = "*.txt" End Sub Private Sub Start_Click() Dim i As Integer Dim sPath As String sPath = File1.Path If Right$(sPath, 1) <> "" Then sPath = sPath & "" End If '# Pour chaque fichier de la liste For i = 0 To File1.ListCount - 1 '# Si j'ai selectionné mon fichier... If File1.Selected(i) Then TraiterFichier sPath & File1.List(i) End If Next End Sub Private Sub TraiterFichier(ByRef vsFilePath As String) Dim Content As String Dim FF As Integer '# Bonne habitude a prendre que de ne pas utiliser #1 en dur... FF = FreeFile '# Lecture de tout le contenu du fichier Open vsFilePath For Binary Access Read As #FF '# On reserve suffisamment de place dans la variable Content = Space$(LOF(FF)) Get #FF, , Content Close #FF '# Nettoyage... Content = Replace(Content, """""""", """") Content = Replace(Content, ";", ",") '# On ouvre le fichier en ecriture Open vsFilePath For Output As #FF '# On y écrit le contenu Print #FF, Content, '# Le , final est là pour ne pas générer de saut de ligne en toute fin de fichier Close #FF End Sub
Dim Content As String Open File For Binary Access Read As #1 Content = Space$(LOF(1)) Get #1, , Content Close #1 Content = Replace(Content, """"""", """) Content = Replace(Content, ";", ",") Open File For Output As #1 Print #1, Content, Close #1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question