Bonjour,

J'ai un fichier txt dont le contenu ressemble à celui-ci :

Magasin : A
Etat : 1 Ref : 1
ERREUR : ......
Etat : 2 Ref : 2
ERREUR : ......
Etat : 20 Ref : 20

Pour le magasin A
Nombre de produits achetés : 20
Nombre de produits vendus : 10
Magasin : B
Etat : 1 Ref : 1
ERREUR : .......
Etat : 2 Ref : 2
ERREUR : .......
Etat : 20 Ref : 20
ERREUR : .......
Je voudrais pouvoir exporter le fichier dans excel comme ceci :

Dans un premier onglet :

Magasin Nombre de produits achetés Nombre de produits vendus
A 20 10
B 20 10

Dans un second onglet :

Magasin Erreur Libellé d'erreur Nb d'erreurs
A Récupérer le premier mot de (…....) Récupérer le reste de (…....) 20
B Récupérer le premier mot de (…....) Récupérer le reste de (…....) 20

Dans un dernier onglet :

Magasin Ligne Erreur
A Etat : 1 Ref : 1 ERREUR : …..
A Etat : 2 Ref : 2 ERREUR : …..
A Etat : 3 Ref : 3 ERREUR : …..
A Etat : 4 Ref : 4 ERREUR : …..
B Etat : 1 Ref : 1 ERREUR : …..

J'ai commencé à utiliser le code suivant qui me permet de récupérer les lignes contenant un mot donné

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                string docPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
 
                var files = from file in Directory.EnumerateFiles(docPath, "*.txt", SearchOption.AllDirectories)
                            from line in File.ReadLines(file)
                            where line.Contains("Magasin :")
 
                            select new
                            {
                                File = file,
                                Line = line
                            };
 
                foreach (var f in files)
                {
                    Console.WriteLine($"{f.File}\t{f.Line}");
                }
Merci