récupération de champs d'un fichier vers Excel

G

gab

Guest
Bonjour,

Je souhaiterais récupérer certaines données contenues dans un fichier sans extension (une sauvegarde de mail à l'origine) dans les champs prédéfinis d'une feuille Excel.
Les actions que j'effectue :
- consultation du mail et enregistrer en local (créé le fichier sans extension appelé 'request')

Les fonctions que j'aimerais mettre en place :
Dans Excel je souhaite utiliser un module qui va chercher ce fichier (je l'ai déjà : GetOpenFilename), mais surtout je souhaite récupérer les données qui se trouvent derrière les champs
To: From: Subject: Date : Event: etc......... dans des champs prédéfinis dans mon fichier Excel.
Avec une petite variante concernant le champ Choice: où il peut y avoir plusieurs options séparées par des virgules, que je souhaite retrouver listées en colonne...

Bref si vous avez un idée, cela m'aiderait beaucoup !!!
Merci par avance !!

NB :
Voici le module que je veux utiliser pour aller chercher le fichier :
Dim fn As Variant
fn = Application.GetOpenFilename('', 1, 'Please select a request', , False)
If TypeName(fn) = 'Boolean' Then Exit Sub

et en attaché un exemple de fichier request [file name=request.zip size=112]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/request.zip[/file]
 

Pièces jointes

  • request.zip
    112 bytes · Affichages: 23
G

gab

Guest
Voilà... normalement il est complet maintenant..

Merci pour toute aide [file name=request_20060117213037.zip size=303]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/request_20060117213037.zip[/file]
 

Pièces jointes

  • request_20060117213037.zip
    303 bytes · Affichages: 26
G

gab

Guest
Voilà... normalement il est complet maintenant..

Merci pour toute aide [file name=request_20060117213154.zip size=303]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/request_20060117213154.zip[/file]
 

Pièces jointes

  • request_20060117213154.zip
    303 bytes · Affichages: 23

MichelXld

XLDnaute Barbatruc
bonsoir Gab , bonsoir Gael

cet exemple n'est pas optimisé , mais tu pourrais utiliser ce type de procedure pour extraire les données de ton fichier

Sub fichierVersExcel()
Dim Valeur As Long
Dim X As Integer, J As Integer
Dim Cible As String
Dim Fichier As String
Dim Tableau() As String, Table2() As String

Fichier = 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier\\\\\\\\excel\\\\\\\\request'

Open Fichier For Input As #1
Valeur = FileLen(Fichier)
Cible = Input(Valeur, 1)
Close 1

Tableau = Split(Cible, vbLf)
For X = 0 To UBound(Tableau) - 1
J = J + 1
Cells(1, J) = Tableau(X)
Next

J = J + 1
Table2 = Split(Tableau(UBound(Tableau)), ',')
For X = 0 To UBound(Table2)
Cells(X + 1, J) = Table2(X)
Next

End Sub




bonne soirée
MichelXld
 

MichelXld

XLDnaute Barbatruc
bonjour

ci joint lla macro commentée

Sub fichierVersExcel()
Dim Valeur As Long
Dim X As Integer, J As Integer
Dim Cible As String
Dim Fichier As String
Dim Tableau() As String, Table2() As String

'le fichier à ouvrir : 'request'
Fichier = 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier\\\\\\\\excel\\\\\\\\request'

Open Fichier For Input As #1 'ouverture du fichier 'request'
Valeur = FileLen(Fichier)
Cible = Input(Valeur, 1) 'recuperation du contenu du fichier dans une variable
Close 1

'découpage du contenu en fonction des retours à la ligne dans le fichier
Tableau = Split(Cible, vbLf)

'insertion de chaque partie découpée dans une cellule de la feuille
'jusqu'a l'avant derniere ligne du fichier :UBound(Tableau) - 1
For X = 0 To UBound(Tableau) - 1
J = J + 1
'cells(numero ligne , numero colonne)
Cells(1, J) = Tableau(X)
Next

'decoupage de la derniere ligne du fichier (champ Choice)
'en fonction des virgules utilisées comme séparateur
J = J + 1
Table2 = Split(Tableau(UBound(Tableau)), ',')
For X = 0 To UBound(Table2)
'affichage des données à la suite dans la meme colonne
Cells(X + 1, J) = Table2(X)
Next

End Sub



bonne journée
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote