IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA Récupérer certaines données des fichiers TXT en tableau EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut VBA Récupérer certaines données des fichiers TXT en tableau EXCEL
    Bonjour tout le monde ,

    Je suis nouveau dans ce forum et j'ai besoin de votre aide svp , je cherche à récupérer les données d'un fichier.txt en tableau Excel via un script macro pour pouvoir exploiter et analyser les données d'une façon facile. Ci joint mon fichier txt et le tableau que j'ai besoin.

    EJ.txtNom : exemple tableau excel.png
Affichages : 619
Taille : 15,0 Ko

    NB: mon répertoire a plusieurs fichier texte a exécuter à la fois .

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Cela fait plus de 10 ans que l'on utilise PowerQuery, intégré à Excel, pour ce faire

    Il suffit de stocker les fichiers dans un dossier spécifique

    Exemple avec le même fichier copié 2 fois dans le dossier: une liste des colonnes à récupérer, le chemin du dossier, le résultat
    Images attachées Images attachées  

  3. #3
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour,

    Merci beaucoup Chris pour votre retour . vous pouvez SVP me communiquer la procédure détaillée pour pouvoir la suivre .

    J'ai vraiment besoin de votre aide pour avoir le même résultat que vous m'avez capturé .

    Merciii d'avance pour votre professionnalisme .

  4. #4
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour ,

    y'a t 'il du nouveau SVP?

    Merci d'avance pour votre aide .

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 122
    Par défaut
    Et c'est sérieux sans fichier, ici, je crois, que l'on ne vous répondra pas

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour à toutes et à tous
    La réponse de 78chris est sans doute la meilleure (bonjour au passage ), j'ai tenté d'arriver au même résultat avec PowerQuery sans succès
    Le principe consiste à créer une liste avec les intitulés à rechercher, importer le fichier texte, faire la comparaison entre la liste et la colonne du fichier texte puis fractionner la colonne...bref un chemin à creuser mais une fois powerquery est maîtrisé je crois que c'est un outil formidable
    J'ai contacté cette adresse pour avoir une idée sur les fonctions de PQ...genre Text.Contains , les liste et autres
    Pour savoir comment faire comparaison entre une liste et une colonne j'ai contacté ce billet
    Si 78chris explique la solution , je serais preneur
    Pour un bricolage VBA et surtout que notre amie attend avec patience une réponse faite avec le principe que la structure des fichiers .text est la même :
    Importer fichier texte avec :
    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
    18
    19
    20
    21
    22
    Sub ImportTxt()
    Dim FichierTxt
    FichierTxt = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    If FichierTxt <> False Then
        With Worksheets("Feuil1")
            .UsedRange.ClearContents
            With .QueryTables.Add(Connection:="TEXT;" & FichierTxt & "", Destination:=.Range("A2"))
                .TextFileSemicolonDelimiter = True
                .Refresh BackgroundQuery:=False
                .Delete
            End With
        End With
    End If
    Worksheets("Feuil1").Range("B21").Value = Mid(Worksheets("Feuil1").Range("A21").Value, 27, 2)
    Worksheets("Feuil1").Range("C21").Value = Mid(Worksheets("Feuil1").Range("A21").Value, 30, 2)
    Worksheets("Feuil1").Range("D21").Value = Mid(Worksheets("Feuil1").Range("A21").Value, 33, 2)
    Worksheets("Feuil1").Range("E21").Value = Right(Worksheets("Feuil1").Range("A21").Value, 2)
    Worksheets("Feuil1").Range("B68").Value = Mid(Worksheets("Feuil1").Range("A68").Value, 27, 2)
    Worksheets("Feuil1").Range("C68").Value = Mid(Worksheets("Feuil1").Range("A68").Value, 30, 2)
    Worksheets("Feuil1").Range("D68").Value = Mid(Worksheets("Feuil1").Range("A68").Value, 33, 2)
    Worksheets("Feuil1").Range("E68").Value = Right(Worksheets("Feuil1").Range("A68").Value, 2)
    End Sub
    Remplir le tableau avec :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub remplirTblo()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Dim ligF1 As Long
    Dim ligF2 As Long
    Application.ScreenUpdating = False
    Set F1 = Sheets("Feuil1")
    Set F2 = Sheets("Feuil2")
    ligF1 = F1.Cells(Rows.Count, 1).End(xlUp).Row
    For C = 1 To 10
    For L = 1 To ligF1
    If InStr(1, F1.Cells(L, 1), F2.Cells(1, C)) <> 0 Then
    ligF2 = F2.Cells(Rows.Count, C).End(xlUp).Row + 1
    F2.Cells(ligF2, C) = Left(F1.Cells(L, 1), 9)
    End If
    Next L
    Next C
    LigE = F2.Cells(Rows.Count, 5).End(xlUp).Row + 1
    F1.Range("B21:E21").Copy
    F2.Range("E" & LigE).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    LigE = F2.Cells(Rows.Count, 5).End(xlUp).Row + 1
    F1.Range("B68:E68").Copy
    F2.Range("E" & LigE).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
     
    Application.ScreenUpdating = True
    End Sub
    J'espère que ça aide à avancer
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour tout le monde,

    Merci beaucoup BENNASR pour votre aide .

    je vous informe que ça réponds exactement à mon besoin , j'ai testé le macro et j'ai bien récupéré les données nécessaires des fichiers textes .par contre il reste le problème au niveau des colonnes C1, C2,C3,C4 mal renseigné lorsque j'importe un nouveau fichier texte . voir résultat ci dessous Nom : résultat.png
Affichages : 565
Taille : 13,6 Ko.

    Un grand merci à vous tous .

    Nous attendons aussi le retour de CHRIS pour la solution de powerBI

    Cordialement.

  8. #8
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Normalement pas de problème pour C1 a C4
    Quelle modification que tu as apporté au code ???
    Tu envoie tjrs les données du fichier texte en cellule A2 non ???

  9. #9
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour
    C'est férié ici donc pas connecté aujourd'hui...

    Modifier le chemin, les paramètres de PowerQuery pour pouvoir récupérer le chemin placé dans une cellule nommée
    Lancer PowerQuery puis Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité

    Refermer et Données, Actualiser Tout
    Fichiers attachés Fichiers attachés

  10. #10
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonsoir les amis ,

    @BENNASR : quand j'ai importé un nouveau fichier texte ayant plusieurs transaction , les cellules que je veux récupérer dans les colonnes C1 à C4 sont les chiffres qui sont toujours affichés après "NOTES PRESENTED" dont les lignes ne sont pas fixes à A21 et A68 . je dois récupère la données même les lignes changent .

    Renseigné C1,C2,C3,C4 par les chiffres qui sont saisi après la phrase "NOTES PRESENTED".
    Je peux remplir les cellules de tableau A2.........An automatiquement par les NUMERO CARTE : XXXXXXXXXXXX123?

    Je vous remercie pour votre collaboration, votre expertise et professionnalisme ont été essentiels à la réussite de ce macro

    Cordialement.

  11. #11
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonsoir CHRIS ,

    Merci pour votre retour et votre aide . J'ai suivi les étapes que vous m'avez communiqué , ça marche nickel. super

    MERCI encore une fois à vous CHRIS, BENNASR et à tout le monde


    VOUS ETES PRO !!!!! je suis fière d'être un membre parmi vous .

  12. #12
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    Pour ceux qui n'ont pas une version excel qui prend en charge PQ .. je propose encore ce bricolage
    à tester
    Fichiers attachés Fichiers attachés

  13. #13
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour Tout le monde ,

    j'ai testé cette dernière version et c'est réussi . Bravo BENNASR.

    UN GRAND MERCI à vous tous .

  14. #14
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour
    Citation Envoyé par BENNASR Voir le message
    Pour ceux qui n'ont pas une version excel qui prend en charge PQ ..
    Pris en charge depuis la version 2010 donc c'est pour la préhistoire, lol !

    Mais on trouve encore du 2007 couramment sur les forums ou des boîtes qui refusent l'add on sur 2010 et 2013... donc ça peut faire des heureux

  15. #15
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour ,

    @78chris : j'ai ajouté d'autres colonnes (numéro carte / code réponse/ montant ) sur le tableau dont vous m'avez communiqué selon mes besoins , et voici les résultats que j'ai obtenu:

    - les données relatives aux numéros de carte non récupérées
    - les données relatives aux code réponse non récupérées
    - la valeur montant est récupéré en format texte

    ci joint le détail de fichier texte (test.txt) + résultat en tableau excel (Script_test.xlsx)

    Merci d'avance pour votre aide. c'est bloquant.

    Je compte sur votre collaboration habituelle .
    Fichiers attachés Fichiers attachés

  16. #16
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Il y a un changement de structure de la source : la zone AUTHENTIFICATION, qui n'existait pas, double NUMERO CARTE et CODE REPONSE pour une des cartes.

    Cela plante la requête qui attend 14 lignes par carte (selon liste) et non 16 pour l'une d'elle

    Par ailleurs le montant a un séparateur décimal non conforme qui nécessite un typage particulier

  17. #17
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonsoir,
    Merci 78Chris pour votre retour.
    Comment je gère ces cas particuliers dans le fichier pour pouvoir ramener toutes les données nécessaires ?
    Merci beaucoup.

  18. #18
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    RE

    Es-tu sûr que ce format est stable ? Car sinon on y sera encore après Noël.

    Si les extractions varient au fil du temps il est difficile d'établir une logique.

  19. #19
    Membre averti
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2023
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 23
    Par défaut
    Bonjour
    Oui sûr que ce format est stable.
    D ailleurs celui qui se répète à chaque extraction.
    Merci mon ami pour votre aide.

  20. #20
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/05/2015, 10h57
  2. Réponses: 9
    Dernier message: 22/04/2015, 20h39
  3. Code vba pour la suppression des lignes d'un tableau excel
    Par yosra_jemai dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2013, 09h11
  4. [XL-2003] Données dans fichier .txt vers tableau en .xls
    Par Invité1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2009, 19h30
  5. [CLI] Récupérer la version des fichiers à une date donnée
    Par jreeman dans le forum CVS
    Réponses: 1
    Dernier message: 27/02/2007, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo