A voir également:
- Ouvrir un fichier txt avec le bloc note et remplacer guillemets
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
- Fichier rar - Guide
- Ouvrir un fichier .dat - Guide
7 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 18/08/2014 à 21:42
Modifié par Patrice33740 le 18/08/2014 à 21:42
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
19 août 2014 à 11:44
19 août 2014 à 11:44
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
19 août 2014 à 13:41
19 août 2014 à 13:41
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 19/08/2014 à 18:38
Modifié par Patrice33740 le 19/08/2014 à 18:38
Re,
Voici un exemple :
https://www.cjoint.com/c/DHtsMhn6TJG
Cordialement
Patrice
Voici un exemple :
https://www.cjoint.com/c/DHtsMhn6TJG
Cordialement
Patrice