Regrouper statistique de fichier txt à Excel

Bonjour tout le monde

mon problème est le suivant:

j'ai des statistiques sur des fichier TXT et je veux les insérer sur feuille excel.

ci -attachés model.

Cordialement.

18exemple.txt (3.75 Ko)

Bonjour,

voici un début de piste pour lire le fichier texte,

sélectionner une nouvelle feuille avant d'exécuter la macro

Sub LireTxT()
Dim ff As Integer, lignes() As String, Temp As String, i As Integer
ff = FreeFile
Fichier = "C:\Users\isabelle\Documents\test5\Exemple.txt"              'à adapter

Open Fichier For Binary As #ff

Temp = String(FileLen(Fichier), " ")
Get #ff, , Temp ' Récupère tout le fichier
Close #ff

lignes = Split(Temp, vbCrLf)
For i = LBound(lignes) + 1 To UBound(lignes)
  On Error Resume Next
  Range("A" & i).Value = lignes(i)
Next
n = Cells(Rows.Count, 1).End(xlUp).Row

'convertir en colonne
Range("A1:A" & n).TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
   OtherChar:=" ", FieldInfo:=Array(Array(0, 1), Array(38, 1), Array(48, 1), Array(66, 1)), TrailingMinusNumbers:=True
End Sub

Bonsoir SabV

merci bien de ton effort mais j'aimerais bien avoir le résultat comme dans le fichier excel "Essai Statistique".

bonjour

salut sabV

avec Power Query c'est faisable, et fiable

mais il faut mouiller la chemise pour la mise au point de la requête

j'en ai pour 2 à 3 heures (vu mon niveau minable )

as-tu essayé ?

ici

https://www.youtube.com/watch?v=gwW2CDdvUUs

extension gratuite, incluse dans les Excel plus récents

j'ai tenté un coup

mais il y a encore bien du travail, car par exemple il faut remettre tout en face des trous, et mettre les titres.

voici où j'en suis

note que tu pourrais avoir des milliers de lignes, ce serait pareil

bon travail

6classeur1.xlsx (25.13 Ko)

Bonjour Atoto, jmd,

@Atoto,

j'ai affiné le résultat, mais il faut comprendre que c'est uniquement sur le pattern du fichier texte que vous avez fourni.

dit moi si ça va ?

@jmd,

j'ai essayé de reproduire le Power Query mais sans succès

les données avec cote sont transférées comme étant des virgules ( 5'2 --> 5,2)

@jmd,

j'ai essayé de reproduire le Power Query mais sans succès

les données avec cote sont transférées comme étant des virgules ( 5'2 --> 5,2)

re

oui, à cause de la présentation par TCD une fois revenu dans Excel

mais c'est sans importance

ou bien par transformation des unités ?

Excel devrait savoir faire, non ?

fonction CONVERT()

Bonjour SabV,Jmd

les feuilles :A,B et C sont vides il n’y pas de transfert de données mais la feuille extract est bien remplie

j'attends la suite SVP

merci Infiniment

de quoi parles-tu ?

quel(s) fichier(s) ?

Bonjour

le voici les amis

si l'extraction est correcte, et à cette condition,

tu peux utiliser des segments au lieu de "ventiler" par onglets (méthode qui date des années 1970 sur papier avec crayon)

Bonjour à tous

Une solution par PowerQuery avec 2 variantes : 1 avec 3 TCD, l'autre un seul avec segment

3voies.xlsx (30.40 Ko)
2voies2.xlsx (26.95 Ko)

bonjour 78chris

merci de me montrer comment vous avez apporter les données du fichier TXT à Excel j'ai essayé avec par PowerQuery mais je n'arrive pas et merci infiniment

Re

Si tu affiches la requête Exemple dans PQ tu as toutes les étapes.

J'ai

  • commencé par définir le chemin puis ai utiliser ce chemin pour accéder au fichier
  • filtré en décochant (vide), et les cas derniers items qui correspondent aux en-têtes
  • ajouté un index
  • dupliqué la requête Exemple

Sur le duplicata, j'ai

  • filtré pour ne garder que ce qui commence par 1 suivi d'un espace (qui correspond donc aux lignes qui affichent le km)
  • fractionné la colonne 1 à 10 caractères (1 fois à partir de la gauche)
  • puis à nouveau à 11 caractères
  • puis à nouveau à 11 caractères
  • supprimé des colonnes pour ne conserver que les 2 kilométrages et l'index

Sur Exemple, pour poursuivre, j'ai

  • filtré pour supprimer ce qui commence par 1 (donc l'inverse du duplicata)
  • fractionné la colonne 1 à 11 caractères (1 fois à partir de la gauche)
  • supprimé la 1ère colonne
  • fractionné à 27 caractères (1 fois à partir de la gauche)
    fractionné la 2ème colonne à 15 caractères (à plusieurs reprises)
  • ajouté 4 colonnes personnalisées nommées respectivement Type, A, B, C, utilisant la fonction Text.Trim, afin de récupérer les 4 colonnes sans espaces en début ou fin, imbriqué dans la fonction Text.AfterDelimier pour A, B et C afin de ne récupérer que ce qui suit l'apostrophe
  • supprimé des colonnes pour ne conserver que Index, Type, A, B, C
  • typé les 4 colonnes, la 1ère en texte, les 3 autres en Nombre entier
  • ajouté une colonne personnalisée nommée Index2 avec la formule =if [Type]="Ecartement" then [Index]-1 else [Index]
    ceci pour repérer où doivent s'insérer les données du duplicata
  • fusionné la requête avec le duplicata et jointure gauche sur index2 pour Exemple et Index pour le duplicata
  • développé la table duplicata
  • sélectionné les 2 colonnes de kms et rempli vers le bas
  • supprimé les 2 colonnes d'index
  • permuté les colonnes (par vraiment utiles
  • pour la version avec segment :
    sélectionné le scolonnes A, B, C et utilisé, Transformer, supprimer le TCD
  • renommé la colonne

J'ai fermé PowerQuery par Fermer et Charger dans : connexion seulement et ai réalisé le TCD

Edit : A noter qu'on pourrait fractionner en une fois dans chaque requête mais oblige à éditer le code

Bonsoir tout le monde

merci professeur

Rechercher des sujets similaires à "regrouper statistique fichier txt"