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
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).
Merci pour la réponse,
Mais j'aimerais rendre ca automatique donc sous VBA.
L'insertion manuelle va sans problème, et je maitrise mais en vba ...
Merci d'avance
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
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
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
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
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
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 !
Je n'ai qu'une chose à dire ...
Une grosse lèche sur la fesse droite.
Un tout grand merci à vous deux
Il ne me reste plus que qq petite adaptation.
Encore une très très grand merci.