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 :

Récupérer un fichier Excel d'un site web avec VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut Récupérer un fichier Excel d'un site web avec VBA
    Bonjour Tout le monde,

    Actuellement j'essaye de programmer une macro qui me permettrait de récupérer un fichier Excel d'un site web automatiquement,

    Je me suis inspiré de plusieurs tutoriels trouvés dans ce forum, et je suis arrivé au code ci-dessous


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    Option Explicit
    Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    Public Const SW_MAXIMIZE = 3
     
    Sub recuperer_id_pdm()
        Dim URL
        Dim login, password As Variant
     
        URL = "http://optibuyno.exemple.fr/"
     
        login = Range("B1")
        password = Range("B2")
        telecharge URL, login, password
    End Sub
     
    Function telecharge(URL, login, password)
        Dim IE As Object
     
        Dim hi As Object
        Dim iclasse As Object
     
        Set IE = CreateObject("internetexplorer.application")
     
        With IE
            .navigate URL
            .Visible = False
            Do: DoEvents: Loop While .readyState <> 4 Or .busy
            If .locationurl = "http://optibuyno.exemple.fr/" Then
                .document.all("login").innertext = login
                .document.all("passe").innertext = password
                .document.all("B1").Click
            End If
     
            End With
     
    ShowWindow IE.hwnd, SW_MAXIMIZE
     
     
    Application.Wait DateAdd("s", 3, Now)
     
     
    Set iclasse = IE.document.getElementsByClassName("btn_gestion")
    iclasse(4).FireEvent ("onclick")
     
     
    Application.Wait DateAdd("s", 7, Now)
     
     
     
            Set hi = CreateObject("WScript.Shell")
     
            hi.SendKeys "{Tab}"
     
            Application.Wait DateAdd("s", 1, Now)
            hi.SendKeys "{enter}"
     
     
     
     
     
    IE.Quit
     
     
     
    End Function
    Bon avec ce code j'arrive à me connecter avec mon identifiant et mot de passe, cliquer sur le bouton pour extraire le fichier excel, cliquer sur ouvrir dans la boite de dialogue IE.

    mais je bloque lorsque la fenêtre ci dessous s'ouvre
    Nom : Sans titre.png
Affichages : 1278
Taille : 40,5 Ko


    SVP, est ce que quelqu'un peut m'aider à finir ma macro en ouvrant le fichier Excel en cliquant sur oui dans la fenêtre ci-dessus



    ps:

    le fichier Excel est récupéré depuis une adresse PHP :http://optibuyno.exemple.fr/aides_achats.php

    merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 437
    Par défaut
    Bonjour,

    Ce problème peut venir du fait que le nom du fichier chargé comporte l'extension .xlsx ou .xlsm, mais que Excel le voit comme étant un fichier .xls
    ... ou l'inverse.
    Donc, réessayer en changeant simplement l'extension dans le nom du fichier avant de l'ouvrir.

    Cordialement.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Ce problème peut venir du fait que le nom du fichier chargé comporte l'extension .xlsx ou .xlsm, mais que Excel le voit comme étant un fichier .xls
    ... ou l'inverse.
    Donc, réessayer en changeant simplement l'extension dans le nom du fichier avant de l'ouvrir.

    Cordialement.
    Effectivement le problème est l'extension, mais c'est juste que je peux pas la changer parceque je veux pas enregistrer le fichier mais l'ouvrir directement.
    en plus l'extention d'origine c'est du Html, du coup c'est un peux plus compliqué,

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 437
    Par défaut
    Une piste: Classeurs Excel ne s’ouvre pas (ou original)

    Pour autant que j'aie bien compris, il faudrait donc que le fichier html soit ouvert depuis une "zone protégée". (Dans Excel: Options / Centre de gestion de la confidentialité / Emplacements approuvés ... et ajouter le répertoire où se télécharge le fichier html). Non testé.

    Maintenant, à mon avis, "je ne veux pas enregistrer le fichier" n'est pas tout à fait réaliste: lors du téléchargement, ce fichier va nécessairement s'enregistrer quelque part sur le disque dur local (dans un dossier Temp quelconque), quitte à s'effacer à la fermeture.

    Cordialement.

Discussions similaires

  1. Enregistrer un fichier excel sur un site ftp avec une macro
    Par Grandbo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2009, 17h34
  2. site web avec 15 000 fichiers
    Par sajedose dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/09/2007, 17h00
  3. Réponses: 4
    Dernier message: 11/07/2007, 18h40
  4. Aide pour insérer un fichier flash dans un site web
    Par constitain dans le forum Flash
    Réponses: 2
    Dernier message: 26/07/2006, 22h59
  5. [Upload] Upload d'un fichier excel sur un site web
    Par oldscrout dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2006, 10h09

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