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 :

importation de donnée d'un fichier .txt [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Par défaut importation de donnée d'un fichier .txt
    Bonjour,
    Je me lance depuis peu dans la programmation VBA. Grâce à vos tutoriels j'ai pu trouver la plupart des informations dont j'avais besoin et réaliser les opérations de base . Mais il s'avère que je bloque sur un point.

    Je souhaite créer un bouton qui permet d'ouvrir un fichier .txt dans une des pages d'un documents EXCEL déjà existant.

    Je me suis basé sur un code trouvé sur votre site :

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Option Explicit
     
    Sub OuvreTxtSousExcel()
    Dim Source As String, Filtre As String
    Dim NumFichier As Integer
    Dim TabLigne() As String, TabCol() As String
    Dim Recup As String
    Dim Cmpt1 As Long, Cmpt2 As Long
    Dim Classeur As Workbook
     
    ' Ouvrir une boite de dialogue pour sélectionner le fichier .txt
    Filtre = "Fichiers texte (*.txt),*.txt"
    Source = Application.GetOpenFilename(Filtre, Title:="Sélection du fichier")
    Application.ScreenUpdating = False
     
    'Convertir le fichier texte en classeur Excel
        NumFichier = FreeFile
     
        Open Source For Binary Access Read As #NumFichier
            Recup = String(LOF(NumFichier), " ")
            Get #NumFichier, , Recup
        Close #NumFichier
     
    Set Classeur = Workbooks.Add
        Classeur.Activate
            With Classeur.Worksheets(1).Cells(1, 1)
                TabLigne = Split(Recup, vbCrLf)
                    For Cmpt1 = 0 To UBound(TabLigne)
                        TabCol = Split(TabLigne(Cmpt1), ",")
                            For Cmpt2 = 0 To UBound(TabCol)
                                .Offset(Cmpt1, Cmpt2).Value = TabCol(Cmpt2)
                            Next Cmpt2
                    Next Cmpt1
            End With
     
    Set Classeur = Nothing
     
    Application.ScreenUpdating = True
    End Sub
    Bien entendu votre code marche à la perfection , cependant j'essaye de le modifier pour que le fichier texte que je vais chercher, ne s'ouvre pas dans un nouveau fichier EXCEL mais pas exemple dans la feuille 4 du fichier ou est présent mon bouton.
    Après plusieurs tentatives j'arrive toujours sur des erreurs. Je ne voit pas très bien comment m'en sortir.

    Merci de votre aide.
    Alex

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,

    l'information sur l'emplacement de la feuilel dans le classeur peut se définir en remplaçant les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set Classeur = Workbooks.Add
        Classeur.Activate
            With Classeur.Worksheets(1).Cells(1, 1)
    Par par exemple directement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            With ThisWorkbook.Worksheets(3).Cells(1, 1)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2012
    Messages : 11
    Par défaut
    Merci bcp pour cette réponse rapide
    C'est exactement ce dont j'avais besoin !
    Je ne maitrise pas encore très bien ce type de taches (voir pas du tout) !

    Slt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer des données depuis un fichier TXT
    Par chfakht dans le forum Administration
    Réponses: 1
    Dernier message: 15/08/2013, 12h26
  2. [Débutant] Importation de données d'un fichier txt
    Par le001 dans le forum MATLAB
    Réponses: 14
    Dernier message: 19/03/2013, 22h51
  3. Réponses: 0
    Dernier message: 07/06/2010, 16h01
  4. [MySQL] Importer les données d'un fichier CSV dans une base de données
    Par joueur dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/11/2008, 11h59
  5. Réponses: 3
    Dernier message: 13/12/2004, 13h54

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