tigrou884
Messages postés1Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention31 mai 2006
-
31 mai 2006 à 15:51
AXEL120650
Messages postés2Date d'inscriptionlundi 13 septembre 2004StatutMembreDernière intervention23 janvier 2007
-
8 juin 2006 à 15:51
Bonjour a tous :
Je suis super nulle en programmation, et je dois creer une macro qui ouvre un fichier .txt avec excel, puis tracer des courbes et les mettre en forme. Tracer et mettre en forme, je pense que je vais y arriver mais ecrire le code pour ouvrir le fichier et recuperer son chemin je sais pas comment faire. J'ai essayé :
Sub ChoixFichier()
Dim FichierChoisi As String
FichierChoisi = Application.GetOpenFilename
end Sub
AXEL120650
Messages postés2Date d'inscriptionlundi 13 septembre 2004StatutMembreDernière intervention23 janvier 2007 8 juin 2006 à 15:51
1: Si les données du fichier texte contiennent des données, c'est vraisemblablement sous forme structurée:
- plusieurs lignes correspondent à des enregistrements successifs
- dans chaque ligne il y a N valeurs
La fin de fichier signiie la fin des informations enregistrées
Les données de chaque ligne sont séparés par quelque chose de spécial, tel que:
- Tabulation
- Espace
- ;
etc. Un grand classique est le "; ".
Souvent dans ce cas le fichier texte se termine par .csv au lieu de .txt
Si tel est bien le cas (ouvres le fichier avec Notespad ou tout traitement de texte pour vérifier) c'est très simple.Il n'est même pas sûr que ça vaille le coup de faire du VBA.
A savoir aussi que les données sont parfois entre guillemets afin d'être très souple quant au contenu des champs.
Si le fichier texte semble bien être du CSV (#comma separated values), tu peux toujours essayer la solution élémentaire suivante:
Renommes le fichier donnees.txt --> donnees.csv
Depuis EXCEL (ou OO Calc) ouvrir ce fichier
Tu obtiens un tableur avec une feuille en forme. a toi de jouer.
Si le fichier est structuré, mais autrement, gardes l'extension .txt et ouvres le fichier depuis EXCEL.
Tu obtiens une séquence de fenêtres qui te proposent des "règles d'interprétation", et notamment la 2è te demande de définir les caractères qui délimitent les champs.
Si tu renseignes comme il faut, le miracle opère.
Tu as droit a plusieurs essais.
Si l'une ou l'autre manip marche, et que tu veux automatiser le processus, commences par utiliser l'enregistreur de macros, qui te donnera l'esquisse du code, rarement triviale. Et im###### pour une débutante.
Tu auras alors un début de VBA comme ceci:
Sub OuvrirCSV()
' Macro enregistrée le 08/06/2006 par Axel
'
' Exemple1 - Fichier CSV
Workbooks.Open Filename:="D:\profil\Mes documents\Temporaires\Exemple.csv"
Set FeuilleData = ActiveSheet ' Pour ensuite expliter les données de cette feuille
' (...)
' Exemple2 - Fichier txt autre
Workbooks.OpenText Filename:= _
"D:\profil\Mes documents\Temporaires\Exemple.txt", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array( _
3, 1)), TrailingMinusNumbers:=True
' ça ne se devine pas comme ça: heureusement qu'il y a l'enregistreur de macros.