OVH Cloud OVH Cloud

Export Rq en fichier .txt

3 réponses
Avatar
DENNLER Andre
Bonjour,
J'exporte par VBA une requête dans un format .TXT
Le problème que je rencontre est que le fichier exporté est un mélange de
minuscules et de majuscules, dans la requête le format majuscule est forcé
par >
Question : y a t'il une astuce pour formater en majuscule le fichier .TXT
avec VBA ?
Merci pour la réponse.
--
Andre

3 réponses

Avatar
Raymond [mvp]
Bonjour.

si tu formates le txt directement il va falloir récupérer tous les champs ,
champ par champ, car le séparateur étant un ; il va devenir un . en
majuscules ce qui ne va pas être top.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"DENNLER Andre" a écrit dans le
message de news:
Bonjour,
J'exporte par VBA une requête dans un format .TXT
Le problème que je rencontre est que le fichier exporté est un mélange de
minuscules et de majuscules, dans la requête le format majuscule est forcé
par >
Question : y a t'il une astuce pour formater en majuscule le fichier .TXT
avec VBA ?
Merci pour la réponse.
--
Andre


Avatar
Eric
Bonjour André,

Une solution : Manipuler ton fichier TXT comme un fichier séquentiel et
faire la mise en majuscule par UCase. J'ai testé avec des champs
contenant des "," , ";" , "." , des lettres accentuées, des données
monétaires et ca marche.

Tu ouvres le fichier résultat de l'exportation en lecture et tu réécris
dans un deuxième en mettant en majuscule. A la fin, tu fermes les 2,
supprimes le 1er et renommes le second du nom du premier.

(A modifier le chemin d'accès au fichier)

La procédure serait la suivante :

Sub ExportREQUETE()
DoCmd.TransferText acExportDelim, , "RQTEST", "d:RQTEST.TXT", True
Moulinette
End Sub

Sub Moulinette()

Dim Numero1 As Integer, chemin As String
Dim Numero2 As Integer, Buffer As String
Numero1 = FreeFile
chemin = "d:"
Open chemin & "RQTEST.TXT" For Input As Numero1
Buffer = input(LOF(Numero1), 1) ' on récupère le contenu du fichier
Close Numero1
Numero2 = FreeFile
Open chemin & "RQTESTMAJ.txt" For Output As Numero2
Print #Numero2, UCase(Buffer) ' Ecriture avec Mise en majuscule
Close #Numero2
Kill chemin & "RQTEST.TXT" ' On supprime le 1er
' on renomme le 2nd du nom du 1er
Name chemin & "RQTESTMAJ.TXT" As chemin & "RQTEST.TXT"

End Sub

A+
Eric


Bonjour,
J'exporte par VBA une requête dans un format .TXT
Le problème que je rencontre est que le fichier exporté est un mélange de
minuscules et de majuscules, dans la requête le format majuscule est forcé
par >
Question : y a t'il une astuce pour formater en majuscule le fichier .TXT
avec VBA ?
Merci pour la réponse.


Avatar
Eric
re,
Remplacer :
Buffer = input(LOF(Numero1), 1)
par :
Buffer = input(LOF(Numero1), Numero1)

Précision :Avec le format d'exporation acExportDelim, les champs Texte
sont encadrés par des " et le séparateur de champs est le ;
Avec cette méthode (lecture/écriture d'un fichier séquentiel), les
délimitateurs de champs ne sont pas modifiés car le ; est aussi le
séparateur de champs dans les fichiers à accès séquentiel, le séparateur
d'enregistrements étant un CR+LF.

A+
Eric




Sub Moulinette()

Dim Numero1 As Integer, chemin As String
Dim Numero2 As Integer, Buffer As String
Numero1 = FreeFile
chemin = "d:"
Open chemin & "RQTEST.TXT" For Input As Numero1
Buffer = input(LOF(Numero1), 1) ' on récupère le contenu du fichier
Close Numero1
Numero2 = FreeFile
Open chemin & "RQTESTMAJ.txt" For Output As Numero2
Print #Numero2, UCase(Buffer) ' Ecriture avec Mise en majuscule
Close #Numero2
Kill chemin & "RQTEST.TXT" ' On supprime le 1er
' on renomme le 2nd du nom du 1er
Name chemin & "RQTESTMAJ.TXT" As chemin & "RQTEST.TXT"

End Sub