Lire un fichier texte

  • Initiateur de la discussion Initiateur de la discussion DRANAC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DRANAC

Guest
Bonjour,
Je dois lire un fichier sdr33 (station totale), format texte.
Je voudrais l'insérer dans excel pour laisser une macro de calcul.
Le hic, je ne sais absolument pas comment lire le fichier et positionner son contenu dans les bonne cellule et formater le contenu.
Je vous joins un exemple de fichier sdr33.
Merci d'avance
 

Pièces jointes

Dernière modification par un modérateur:
Re : Lire un fichier texte

Bonjour DRANAC,

Dans Excel, tu fais Fichier/Ouvrir, tu selectionnes Texte, dans Type de Fichier, et l'assistant Importation s'ouvre.

Ensuite, tu choisis Délimité Suivant, tu selectionnes le séparateur selon celui employé dans ton fichier texte Suivant, Suivant et Terminer.

Si tu n'y arrives pas, l'idéal serait de joindre un petit extrait, représentatif toutefois, de ton fichier texte (sous Zip, sinon tu ne pourras pas le déposer).

A te lire.

Jean-Pierre
 
Re : Lire un fichier texte

Bonjour,
Comment parser un fichier text en vba ???
Voici un exemple de fichier text
J'aimerais importer les données dont j'ai besoin dans les cellules adéquates et de formater les nombres.
merci d'avance
 

Pièces jointes

Re : Lire un fichier texte

bonjour

j'ai essayé comme ceci et ça à l'air de tourner correctement !?
tu places ce code dans un module
tu places ton fichier "GROUPE1.SDR.txt" dans le répertoire en cours !
sinon tu devras préciser le chemin exp: "C:\GROUPE1.SDR.txt"
ça copie dans la feuille active !

Code:
Sub LoadFichierTxt()
Cells.Clear
NoLig = 0
Open "GROUPE1.SDR.txt" For Input As #1
Do While Not EOF(1)
 Input #1, X$
 Tablo = Split(X$, "  ")
 NoLig = NoLig + 1: NoCol = 0
For I = LBound(Tablo) To UBound(Tablo)
 If Trim(Tablo(I)) > "" Then NoCol = NoCol + 1: Cells(NoLig, NoCol) = Tablo(I)
Next
Loop
Close #1
End Sub
 

Pièces jointes

Dernière édition:
Re : Lire un fichier texte

Bonjour Roland_M

En guise d'hommage à tes nombreuse contributions 😉

Code:
Sub LoadFichierTxt(dossier$, fichier$)
Cells.Clear
NoLig = 0
Open fichier For Input As #1
Do While Not EOF(1)
 Input #1, X$
 Tablo = Split(X$, "  ")
 NoLig = NoLig + 1: NoCol = 0
For I = LBound(Tablo) To UBound(Tablo)
 If Trim(Tablo(I)) > "" Then NoCol = NoCol + 1: Cells(NoLig, NoCol) = Tablo(I)
Next
Loop
Close #1
End Sub
Code:
Sub traitement()
LoadFichierTxt "C:\Temp\", "GROUPE1.SDR"
End Sub
 
Re : Lire un fichier texte

Merci à vous deux,
Maintenant je vois comment ca fonctionne, reste à adapter...
Est-il possible d'ouvrir le fichier à partir d'un browser ???
En clair existe-t-il un browser tout fait ou doit on en créer un à partir d'un userform???
Merci
 
Re : Lire un fichier texte

Re


Une solution possible
(Test OK, avec le fichier *.sdr et le fichier *.xls dans C:\Temp )

Code:
Sub traitement()
Dim F_n$, d$, f$
F_n = Application.GetOpenFilename("Fichier SDR, *.sdr")
d = Split(F_n, "\")(0) + "\" + Split(F_n, "\")(1) + "\"
f = Split(F_n, "\")(2)
LoadFichierTxt d, f
End Sub
Code:
Sub LoadFichierTxt(dossier$, fichier$)
Cells.Clear
NoLig = 0
Open fichier For Input As #1
Do While Not EOF(1)
 Input #1, X$
 Tablo = Split(X$, "  ")
 NoLig = NoLig + 1: NoCol = 0
For I = LBound(Tablo) To UBound(Tablo)
 If Trim(Tablo(I)) > "" Then NoCol = NoCol + 1: Cells(NoLig, NoCol) = Tablo(I)
Next
Loop
Close #1
End Sub
 
Dernière édition:
Re : Lire un fichier texte

re:

quelque chose du genre, si ça t'interresse,
j'ai adapté un classeur qui était destiné à lister des répertoires et loader des fichiers !
il ne lira que des .txt !? sinon la routine de traitement se planterait !
et à savoir que la routine de traitement est spécialement adapté au fichier que tu as parlé !
donc pas question de tirer autre chose que ce fichier !!!!!!

mais ça fait un peu lourd pour la tâche en question !?

et si tu connais pas trop tu auras du mal à modifier !
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Réponses
11
Affichages
433
Réponses
16
Affichages
556
Retour