Ouvrir un fichier txt avec le bloc note et remplacer guillemets
SB
-
SB -
SB -
Bonjour,
Je débute avec VBA et je souhaiterai ouvrir un fichier txt directement via le bloc note et supprimer des guillemets dans ce fichier txt.
Ci-dessous ce que j'ai:
Workbook.Open Filename:= _
"T:\Reprise_donnees.txt" _
, UpdateLinks:=0
Cells.Select
Selection.Replace What:=""""""", Replacement:=""", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
J'ai eu beau chercher sur le forum je n'arrive pas à trouver la solution
Merci d'avance de votre aide
Je débute avec VBA et je souhaiterai ouvrir un fichier txt directement via le bloc note et supprimer des guillemets dans ce fichier txt.
Ci-dessous ce que j'ai:
Workbook.Open Filename:= _
"T:\Reprise_donnees.txt" _
, UpdateLinks:=0
Cells.Select
Selection.Replace What:=""""""", Replacement:=""", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
J'ai eu beau chercher sur le forum je n'arrive pas à trouver la solution
Merci d'avance de votre aide
A voir également:
- Ouvrir un fichier txt avec le bloc note et remplacer guillemets
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier bin ? - Guide
- Ouvrir un fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
- Comment réduire la taille d'un fichier - Guide
7 réponses
Bonjour,
Pourquoi passer par le bloc note ???
Essaies ce code qui agit directement sur le fichier choisi :
Cordialement
Patrice
Pourquoi passer par le bloc note ???
Essaies ce code qui agit directement sur le fichier choisi :
Sub ElimineGuillemets()
' Choix, lecture et écriture d'un fichier binaire.
Dim nomComplet As String 'nom complet du fichier
Dim nomFichier As String 'nomFichier sélectionné
Dim str As String 'texte original du fichier
Dim txt As String 'texte à écrire dans le fichier
nomComplet = Application.GetOpenFilename("Fichier texte (*.txt),*.txt")
If nomComplet = "" Then Exit Sub
nomFichier = Split(nomComplet, "\")(UBound(Split(nomComplet, "\")))
str = LireTexte(nomComplet)
If str <> "" Then
txt = Replace(str, Chr(34), "")
If EstEcritTexte(txt, nomComplet) Then
MsgBox "Remplacement des guillemets effectué dans " & nomFichier
Else
MsgBox "Echec à l'écriture de " & nomFichier
End If
End If
End Sub
Private Function LireTexte(ByVal nomCompletFichier As String) As String
' Lecture d'un fichier binaire sous forme de texte (caractères ASCII).
Dim n°F As Integer 'numéro du fichier
On Error Resume Next
If Dir(nomCompletFichier) = "" Then Exit Function
n°F = FreeFile
Open nomCompletFichier For Binary Access Read As #n°F
LireTexte = Space$(LOF(n°F))
Get #n°F, , LireTexte
Close #n°F
On Error GoTo 0
End Function
Private Function EstEcritTexte(texteASCII As String, nomCompletFichier As String) As Boolean
' Effectivité de l'écriture d'un fichier binaire sous forme de texte (caractères ASCII).
Dim n°F As Integer 'numéro du fichier
On Error Resume Next
If Dir(nomCompletFichier) <> "" Then Kill nomCompletFichier
n°F = FreeFile
Open nomCompletFichier For Binary Access Write As #n°F
Put #n°F, , texteASCII
EstEcritTexte = True
Close #n°F
On Error GoTo 0
End Function
Cordialement
Patrice
Bonjour,
je suis obligée de passer par bloc note car c'est lors de l'enregistrement du fichier excel que les guillements sont triplés :"nom"devient """nom""" dans bloc note. Mais si tu as une solution pour éviter ça, ça simplifierait effectivement la manip..!
merci d'avance de ton aide
je suis obligée de passer par bloc note car c'est lors de l'enregistrement du fichier excel que les guillements sont triplés :"nom"devient """nom""" dans bloc note. Mais si tu as une solution pour éviter ça, ça simplifierait effectivement la manip..!
merci d'avance de ton aide
Il n'y a aucun rapport entre le Bloc Note et Excel !!!
«je suis obligée de passer par bloc note ...» C'est à dire ? Comment opères-tu ?
Pour éliminer les guillemets d'un fichier txt, à l'aide d'une macro VBA Excel, sans l'ouvrir dans Excel et sans passer par le bloc note la solution est ci dessus !!!!
«je suis obligée de passer par bloc note ...» C'est à dire ? Comment opères-tu ?
Pour éliminer les guillemets d'un fichier txt, à l'aide d'une macro VBA Excel, sans l'ouvrir dans Excel et sans passer par le bloc note la solution est ci dessus !!!!
Bonjour,
Voici comment je procède :
1 - je crée un fichier excel dans lequel les noms sont entre guillemets :"nom"
2 - j'enregistre ce même fichier en format txt
3 - lorsque j'ouvre ce ficheir txt avec le bloc note, j'ai la surprise de constater que le nombre de guillemets a été triplé : """nom"""
4 - donc dans le bloc note, je fais rechercher """ et remplacer par "
5 - Enfin je peux récupérer le fichier txt pour l'importer dans un ERP
navrée, mais je vois mal comment procéder autrement..
merci de votre aide
Voici comment je procède :
1 - je crée un fichier excel dans lequel les noms sont entre guillemets :"nom"
2 - j'enregistre ce même fichier en format txt
3 - lorsque j'ouvre ce ficheir txt avec le bloc note, j'ai la surprise de constater que le nombre de guillemets a été triplé : """nom"""
4 - donc dans le bloc note, je fais rechercher """ et remplacer par "
5 - Enfin je peux récupérer le fichier txt pour l'importer dans un ERP
navrée, mais je vois mal comment procéder autrement..
merci de votre aide
Re,
« je vois mal comment procéder autrement..» :
Ne pas mettre les noms entre guillemets, Excel s'en charge !
« je vois mal comment procéder autrement..» :
Ne pas mettre les noms entre guillemets, Excel s'en charge !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
"Ne pas mettre les noms entre guillemets, Excel s'en charge"
.....et bien non, j'ai bien entendu essayé. Dans Excel, mon format de cellule est pourtant du texte et enregistré en .txt puis ouvert sur bloc note les noms ne sont pas encadrés de guillemet..
navré d'insister mais j'aimerai connaitre le code VBA pour ouvrir un fichier avec le bloc note
merci
"Ne pas mettre les noms entre guillemets, Excel s'en charge"
.....et bien non, j'ai bien entendu essayé. Dans Excel, mon format de cellule est pourtant du texte et enregistré en .txt puis ouvert sur bloc note les noms ne sont pas encadrés de guillemet..
navré d'insister mais j'aimerai connaitre le code VBA pour ouvrir un fichier avec le bloc note
merci