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 :

Importer données avec la commande With ActiveSheet.QueryTables.Add


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut Importer données avec la commande With ActiveSheet.QueryTables.Add
    Bonjour,

    question d'accélérer une macro, j'ai enregistrer une macro d'importation de données et je veux l'adapter à mon fichier, mais ça plante à la troisième ligne...

    Dans la macro enregistrer, c'était écrit quelque chose du genre
    "TEXT;Y\dossiervba\doc3.log"

    Moi je voudrais mettre une variable à la place de Y\dossiervba\doc3.log

    Merci de m'aider!

    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
    emplacement_fichier=fichier.path
    Workbooks(WB).Worksheets(nom_WS).Select
                    With ActiveSheet.QueryTables.Add(Connection:= _
                        "TEXT;" & emplacement_fichier _
                        , Destination:=Range("A1"))
                        .Name = Mid(fichier.Name, 1, Len(fichier.Name) - 4)
                        .FieldNames = True
                        .RowNumbers = False
                        .FillAdjacentFormulas = False
                        .PreserveFormatting = True
                        .RefreshOnFileOpen = False
                        .RefreshStyle = xlInsertDeleteCells
                        .SavePassword = False
                        .SaveData = True
                        .AdjustColumnWidth = True
                        .RefreshPeriod = 0
                        .TextFilePromptOnRefresh = False
                        .TextFilePlatform = 850
                        .TextFileStartRow = 1
                        .TextFileParseType = xlFixedWidth
                        .TextFileTextQualifier = xlTextQualifierDoubleQuote
                        .TextFileConsecutiveDelimiter = False
                        .TextFileTabDelimiter = True
                        .TextFileSemicolonDelimiter = False
                        .TextFileCommaDelimiter = False
                        .TextFileSpaceDelimiter = False
                        .TextFileColumnDataTypes = Array(2, 1)
                        .TextFileFixedColumnWidths = Array(17)
                        .TextFileTrailingMinusNumbers = True
                        .Refresh BackgroundQuery:=False
                    End With

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Emplacement_Fichier As String
    Emplacement_Fichier = "C:\Users\user\Desktop\PAVILLON2.doc"
     
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Emplacement_Fichier, Destination:=Range("A1"))
    ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut
    j'ai finalement trouvé mon erreur, puisque j'ai une grosse macro et que je jongle entre plusieurs feuilles, si j'utilise ceci, ça plante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Emplacement_Fichier,
     Destination:=Range("A1"))
    je devais utiliser ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Emplacement_Fichier, 
    Destination:=workbooks(wb).worksheets(ws).Range("A1"))

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/09/2014, 21h41
  2. [2008] Exporter des données avec la commande BULK EXPORT ou l'utilitaire bcp
    Par marctoralba dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/07/2014, 11h45
  3. probléme avec la commande qui importe la base de donnée
    Par persé dans le forum Administration
    Réponses: 4
    Dernier message: 10/04/2013, 15h23
  4. [XL-2010] importation données avec commentaires de Excel vres Mysql
    Par anissa2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/12/2012, 11h52
  5. VBS, Excel, ActiveSheet.QueryTables.Add
    Par weedlili dans le forum VBScript
    Réponses: 1
    Dernier message: 10/05/2011, 15h00

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