Script

flots

XLDnaute Occasionnel
Bonjour à tous sur le forum,

une petite question à ceux qui utilisent Excel sur Mac (autant dire peu...)

j'ai des fichiers .txt à ouvrir avec excel,
fichiers en grande quantité,
pas d'enregistrement pour l'instant à générer,
je ne fais que copier coller après sur 4 fichiers excel suivant les données à récupérer.

Je cherche en fait à minimiser les manipulations d'ouverture de ces fichiers .txt (sur sept. j'en ai eu 66, mais ça peut être plus). Un collègue m'a mis la puce à l'oreille à propos des scripts, j'ai navigué un peu sur le net, j'ai pu voir qu'il existait AppelScript, mais là je n'y connais rien de rien, ce pourquoi ma demande : est-il possible de générer un script qui ouvre ses fichiers en les transformant automatiquement au format .xls ?

De plus, si j'arrive à générer un script pour l'ouverture de ces fichiers,
est-il possible d'envisager par la suite de "scripter" les données dans ces fichiers et que leur copie s'effectue automatiquement sur les fichiers concernés ??

Que de questions, n'est-ce pas ???

En tout cas merci par avance pour les réponses à venir.
 

JORDAN

XLDnaute Impliqué
Re : Script

Bonjour flots

une tentative !!!
à tester
sur PC, je ne sais pas s'il y a des différences pour Mac

Code:
Sub LectureTxt()

Dim myFso As Object, StoTxt As Object, CsvLine As String

Set myFso = CreateObject("Scripting.FileSystemObject")

FileName = ThisWorkbook.Path & "Nomdufichier" & ".txt"

Set TXTstream = FSO.OpenTextFile(FileName, ForAppending, Create)
' Boucle de recherche
' -------------------
While Not StoTxt.AtEndOfStream

' Stockage des données lues
' -------------------------
    CsvLine = StoCsv.ReadLine

    With Sheets("Feuil1")
    .Cells(LigDes, 1) = Split(CsvLine, ";")(1)
    .Cells(LigDes, 2) = Split(CsvLine, ";")(2)
    .Cells(LigDes, 3) = Split(CsvLine, ";")(3)
    .Cells(LigDes, 4) = Split(CsvLine, ";")(4)

Wend

' Fermeture du fichier lu
' -----------------------
StoTxt.Close

' Remise à zéro des variables
' ---------------------------
Set StoTxt = Nothing: Set myFso = Nothing

End Sub
 

flots

XLDnaute Occasionnel
Re : Script

Bonjour à tous,
merci Jordan pour ta réponse que je me suis empressée de tenter de mettre en pratique.

Lorsque je prends ta formule et que je lance "Exécuter" :
Sub LectureTxt (en-tête) est sélectionné

et j'ai l'indication suivante :
Erreur de syntaxe Un(e) identificateur ne peut pas se trouver après cet identificateur

autant dire qu'avec mes connaissances "zéro" en la matière, je n'y capte rien de rien.
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
354
Compte Supprimé 979
C
Réponses
6
Affichages
335

Statistiques des forums

Discussions
312 300
Messages
2 087 008
Membres
103 429
dernier inscrit
PhilippeH