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

  • Initiateur de la discussion Initiateur de la discussion gab
  • 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 !

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

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
 
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
 
- 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

S
Réponses
0
Affichages
768
Slakhdine
S
M
Réponses
0
Affichages
1 K
M
D
Réponses
11
Affichages
2 K
donogoo
D
L
Réponses
2
Affichages
2 K
Lustrucru
L
G
Réponses
4
Affichages
3 K
GarnierFlorian
G
Retour