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 :

Import fichier xls depuis web - Méthode QueryTables [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 90
    Par défaut Import fichier xls depuis web - Méthode QueryTables
    Bonjour à tous,
    Je vais essayer d'être le plus clair possible.

    Avant, je disposais d'un répertoire sur le réseau de mon entreprise dans lequel des fichiers étaient archivées chaque semaine (format xls, xlsx).
    J'ai créé une macro permettant de sélectionner chaque semaine le fichier le plus récent et permettant de l'importer dans un autre classeur afin d'effectuer différentes manipulations. J'utilisais la méthode proposé par Silkyroad

    Maintenant, les répertoires réseaux n'existent plus. Tous les fichiers sont répertoriés en ligne. Il suffit de cliquer sur les titres des liens pour qu'une boite de dialogue nous propose de l'ouvrir ou l'enregistrer.

    J'ai donc essayé d'importer les fichiers xls depuis le web grâce à la méthode "QueryTables". Malheureusement, le code ci-dessous ne fonctionne pas avec les fichiers xls (mais aucun problème avec les fichiers dont l'extension est txt).
    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
    Sub Test()
    With Sheets("Destination").QueryTables.Add(Connection:= _
            "URL;http://blablabla/MonFichier.xls" _
            , Destination:=Range("$A$1"))
             .Name = "MonFichier"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = True
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
    End Sub
    Le problème s'affiche sur la ligne .RefreshbackgroundQuery

    Les fichiers dont j'ai besoin n'existent qu'au format xls et non au format txt, je me demandais donc si il était possible d'importer un fichier avec une telle extension. De ce que j'ai lu sur différents forums, il est aisé d'importer les fichiers csv, txt mais je n'ai pas vu d'exemple avec des fichiers xls..
    Je fais donc appel à vous dans l'espoir que vous connaissiez une solution à mon problème

    Merci par avance !

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour, bonjour !

    Tout fichier Excel est ouvrable directement même via une URL, donc via le B-A-BA : Workbooks.Open !

    Voilà, voilà !


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 90
    Par défaut
    En effet..
    Merci beaucoup !

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Attention, un fichier Excel est aussi directement importable via QueryTable.

    Encore faut-il avoir les droits d'accès (réseau, Intranet) et que les réponses fournis à son assistant
    lors de la génération du code via l'Enregistreur de macros fussent correctes …

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Février 2014
    Messages : 90
    Par défaut
    Est ce qu'il y'a un gain de temps à passer par cette solution ?
    Le but pour moi est d'ouvrir la feuille et copier les données dans un autre classeur.

    Merci beaucoup pour ces renseignements !

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Franchement je n'ai jamais comparé les performances
    mais j'aurais une préférence pour QueryTable évitant la méthode Range.Copy sans compter l'ouverture, la fermeture …

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

Discussions similaires

  1. IMPORT fichier .xls avec méthode GUI_UPLOAD
    Par Fox18 dans le forum SAP
    Réponses: 0
    Dernier message: 14/03/2016, 17h03
  2. Import de .xls depuis un dossier local
    Par samson_02 dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/01/2009, 11h56
  3. comment importer fichier xls dans BD sql server 2000
    Par porki dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 23/04/2008, 14h53
  4. importation fichiers multiples depuis excel vers excel
    Par zougna dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/11/2006, 17h04
  5. [IMPORTER] fichier .xls vers postgresql
    Par gloogloo dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 31/03/2005, 11h30

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