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 :

Téléchargement sur fichier exporté de IE


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut Téléchargement sur fichier exporté de IE
    Bonjour à tous,

    Cela fait plusieurs années que j'enregistre des exports téléchargés à partir d'internet explorer sur des verison <IE9.
    J'arrivais à commander en vba la fenetre de telechargement et d'enregistrer le fichier importé dans le répértoire de mon choix.
    Ce matin horreur, mon admin m'a passé sous IE9 et là je vois une barre jaune qui s'ouvre en bas et qui n'a plus rien à voir avec la fenêtre d'avant.
    Serait il possible de savoir si avec vba on est toujours capable de faire cette action avec les navigateurs >IE8?

    D'avance merci pour vos réponses.

    Cordialement

  2. #2
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour,

    peut-être un début de solution dans la deuxième étape de cette contribution

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut re
    Bonjour,

    Merci pour le lien mais je suis comme toi, c'est à la deuxieme étape que je bloque. Je n'ai malheuresement pas d'utilisateur pour valider le téléchargement.
    Sous ie 8 je gérais l'automate complet jusqu'à choisir le répertoire de sauvegarde.

    Sur ie 9 je ne vois pas comment commander le bandeau ?

    Si vous avez une autre idée ?

    A+ Lenovo49

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut




    Ah non t'es pas comme moi car dans le lien sous IE9 je ne bloque pas ‼
    Encore faut-il bien (re)lire mon précédent message …

    Sinon pas assez d'information pour évoquer une autre solution.
    Attendre courant janvier pour découvrir la dernière étape de la contribution …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut re
    Bonjour,

    Si j'avais bien lu le tuto mais avec cette méthode, j'ai l'impression de revenir quelques années en arrière...
    La méthode "sendkey" n'est malheureusement pas une valeur sûre et la mise en place reste aléatoire.

    Il y a bien avoir une autre méthode pour commander ce bandeau ?? Comment fait ie9 pour faire apparaître celui-ci (événements déclencheurs)??

    Lenovo49

  6. #6
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    En effectuant la même opération sous Firefox par exemple,
    ce ne sera pas un bandeau mais une fenêtre indépendante pour confirmer le téléchargement :
    donc tout dépend comment une telle commande est interprétée par un navigateur …

    Et peu importe un bandeau ou une fenêtre, ce n'est pas prévu pour être commandé
    mais juste pour attendre la réponse manuelle d'un utilisateur !

    L'utilisation de SendKey n'est pas aléatoire si on prend le temps d'observer le comportement de la page
    comme le démontre la deuxième étape de la contribution …

    Pour tenter de voir l'élément déclencheur, utiliser l'outil d'inspection interne au navigateur
    et les différents scripts chargés par la page en mémoire.
    Il permet aussi de découvrir la requête chargeant les données, future étape de la contribution …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut Re
    Merci pour ton aiguillage et donc je vais revoir ma copie par ta solution. Mais à la place d'ouvrir le fichier, je le télécharge en décochant la vue du téléchargement (options internet/avancé) et en modifiant dans les clés de registre pour répertoire de destination de celui-ci.

    Voici ton code que j'ai adapter pour cette solution:

    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
     
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Const URL = "https://www.euronext.com/fr/popup/data/download?ml=nyx_pd_stocks&cmd=default&formKey=nyx_pd_filter_values%3A1006ef55d4998cc0fad71db6a6f38530"
    Dim OK%
     
     
    Sub DemoEuroNextCSV()
        Const EG = "edit-go"
     
     
        With CreateObject("InternetExplorer.Application")
            .navigate URL
            .Visible = True
            While .Busy Or .ReadyState < 4:  DoEvents:  Wend
               OK = IsObject(.Document.all(EG))
     
     
            If OK Then
                With Application
                   DS$ = IIf(.UseSystemSeparators, .International(xlDecimalSeparator), .DecimalSeparator)
                End With
                                            .Document.all("edit-format-2").Checked = True
                If DS = "," Then .Document.all("edit-decimal-separator-2").Checked = True
                '.Document.all(EG).Click
                With .Document.all(EG): .Focus: .Click: End With
                'Application.Wait Now + 0.000011
                Sleep 10000
                CreateObject("WScript.Shell").SendKeys "{Tab 3}~"
     
                Beep
                        .Quit: AppActivate Application.Caption
     
     
            Else
                Beep
                        .Quit: AppActivate Application.Caption
            End If
     
     
        End With
    End Sub
    Encore merci,

    Lenovo49

  8. #8
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Bonsoir lenovo49, Marc-L,
    J'ai eu ce type de cas il y a peu : une personne ne pouvait plus télécharger en masse des fichiers Excel placés sur un site car lors du clic produit par la macro sur le lien correspondant à chaque fichier la boîte de dialogue Office apparaissait.
    J'ai solutionné le problème via une requête Http.

    Ci-joint un fichier exemple contenant 2 procédures qui chacune fonctionne (maintenant je ne l'ai pas testé sur IE 9 donc...).

    La première ouvre Internet Explorer, récupère la collection des liens. Chaque lien correspondant au type de fichier Excel ciblé est ensuite traité par une requête Http.
    Le fichier est téléchargé dans un dossier nommé "téléchargement" qui est créé sur le bureau.

    La deuxième utilise 2 requêtes Http distinctes :
    - la première permet de récupérer la structure du document HTML du site et donc d'accéder à la collection des liens pointant vers les fichiers
    - la seconde traite individuellement chaque lien afin de télécharger le fichier vers le dossier "téléchargement" créé sur le bureau.

    Vois si cela peut t'aider.

    NB : la vitesse du téléchargement varie selon les caractéristiques de l'ordinateur, de la liaison Internet, etc. et va chez moi de moins de 4 sec (Excel 2010 64 bit+Windows7) à plus de 2 minutes (Excel 2007+Windows7) pour télécharger les 48 fichiers.
    La progression du téléchargement est indiquée dans la barre d'état (en bas à gauche).

    A+
    Fichiers attachés Fichiers attachés

  9. #9
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut Wahoo .........
    Bonjour davido84 et bravo,

    Effectivement vu comme cela, c’est vraiment efficace … (Une préférence pour la deuxième méthode)
    Dans ton exemple les liens de la page sont en durs (Classeurs existent déjà sous le serveur) et de mon côté c’est la validation d’un formulaire qui va créer le classeur.

    Mes compétences étant un peu faible sur ce type de requête, penses tu qu’il serait possible à partir du même principe de déclencher la validation d’un formulaire sur la page web qui envoie en « Post » les éléments de la page afin de me retourner un fichier de type csv ou xls et de le télécharger de la même façon que toi ?

    D’avance merci pour ta réponse.

    A+ Lenovo49

  10. #10
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Bonsoir,

    Je n'ai pas assez d'élément pour te répondre.
    Il faudrait voir à quoi ressemble la page du site et voir s'il est possible de pointer vers le lien du classeur à télécharger et à quoi correspond ce lien.
    Si c'est une URL a priori je ne vois pas pourquoi ce ne serait pas possible mais je ne peux t'en dire plus.
    A+

  11. #11
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    David, c'est ce que j'ai évoqué dans le post #6 : l'utilisation d'une requête !

    Tu aurais pu directement utiliser l'API URLDownloadToFile (cf tutoriel VBA et développement Web) …

    Mais tel quel, peut-être pourrais-tu encore accélérer ton processus en laissant Windows traiter en parallèle
    les requêtes (multi-tâches), VBA n'étant qu'un donneur d'ordre mono-tâche :
    c'est la méthode Let It Bee de ma contribution Accélérer une requête sur des multiples pages Web

    Et pour un lien d'un fichier compatible, Excel peut aussi l'ouvrir directement sans requête ni API ni ActiveX !


    lenovo, il y a d'autres exemples de requête dans les discussions de ce forum
    mais tout dépend effectivement du code source de la page web …

    En sachant utiliser un navigateur, il n'est pas difficile d'inspecter la requête utilisée.
    Quand itwoo sera prêt, ce sera la dernière étape de la contribution évoquée dans le post #2 …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  12. #12
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Bonsoir Marc,
    Tu aurais pu directement utiliser l'API URLDownloadToFile
    Exact ! Je l'avais zappée celle-là. Merci de me l'avoir indiquée.
    Je l'ai testé et effectivement cela fonctionne correctement. Le code est effectivement plus simple puisque la Sub DoxnloadFile devient inutile. Par contre pas de gain de temps à noter.

    Mais tel quel, peut-être pourrais-tu encore accélérer ton processus en laissant Windows traiter en parallèle
    les requêtes (multi-tâches), VBA n'étant qu'un donneur d'ordre mono-tâche :
    c'est la méthode Let It Bee de ma contribution Accélérer une requête sur des multiples pages Web …
    J'ai regardé ton travail. Effectivement ce serait une bonne idée mais je ne connais pas le VBScript donc je ne sais pas s'il est possible de la transposer au téléchargement de fichiers.
    Je vais regarder ce langage de plus près.
    Par contre si c'est possible et si je comprends bien je dois inclure dans le VBScript la 2ème requête (la Sub DoxnloadFile) afin que Windows la traite en parallèle (à moins que le VBScript accepte les API mais je ne sais pas si c'est le cas).
    En tout cas je vais regarder.

    Et pour un lien d'un fichier compatible, Excel peut aussi l'ouvrir directement sans requête ni API ni ActiveX !
    Oui mais dans le cas présent le message Office apparaît et donc on ne peut télécharger les fichiers en masse.

    Quand itwoo sera prêt, ce sera la dernière étape de la contribution évoquée dans le post #2 …
    Attendons de voir cela .
    A+

  13. #13
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut


    VBA comme VBScript sont cousins du VB …

    Par défaut un API (URLDownloadToFile) n'est pas utilisable en VBScript (contournable via un dll wrapper)
    mais comme tu peux le constater dans la contribution un ActiveX si …

    Pour le problème du message Office, je ne parlais pas du pilotage d'IE
    mais juste qu'Excel peut ouvrir directement un fichier compatible via une URL …
    De facto le fichier est enregistré dans le dossier temporaire de la session,
    soit utiliser SaveAs d'Excel soit déplacer en une fois tous les fichiers téléchargés du dossier temporaire vers la destination …

    Mais je n'ai rien contre ta méthode, c'est juste pour passer l'info comme quoi Excel sait ouvrir un fichier pointé par une URL !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  14. #14
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Bonjour Marc et merci pour ton retour,

    Je n'ai pas encore regardé le lien pour le VBScript mais j'ai regardé "Let it Bee" pour voir comment tu t'y prenais.
    J'ai testé à mon tour et cela fonctionne apparemment.
    J'ai créé une fonction ScriptFile
    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
    Function ScriptFile()
    Dim Script_vbs As String, SC As String, F As Integer
      Script_vbs = ThisWorkbook.Path & "\Download.vbs"
     
     
      SC = "Dim xHttp: Set xHttp = CreateObject(""Microsoft.XMLHTTP"")" & vbCrLf
      SC = SC & "Dim bStrm: Set bStrm = CreateObject(""Adodb.Stream"")" & vbCrLf
      SC = SC & "xHttp.Open ""GET"", WScript.Arguments(0), False" & vbCrLf
      SC = SC & "xHttp.send" & vbCrLf
      SC = SC & "With bStrm" & vbCrLf
      SC = SC & ".Type = 1" & vbCrLf
      SC = SC & ".Open" & vbCrLf
      SC = SC & ".write xHttp.responseBody" & vbCrLf
      SC = SC & ".SaveToFile WScript.Arguments(1), 2" & vbCrLf
      SC = SC & "End With"
     
     
      F = FreeFile
      Open Script_vbs For Output As #F
      Print #F, SC
      Close #F
      ScriptFile = Script_vbs
    End Function
    et dans la XmlHttpRequest_VBScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          strPathFileName = strFileURL & oLink.nameProp      
          strFileName = Replace(oLink.nameProp, "%20", vbNullString)
          strFullPathName = strPathName & strFileName
          CreateObject("WScript.Shell").Run strPathVBScript & strPathFileName & " " & strFullPathName
    Reste à gérer la destruction du script ce que je n'ai pas fait pour l'instant (dans le Workbook_BeforeClose pourquoi pas).

    L'ensemble du code est dans le classeur joint ainsi que la procédure utilisant l'API URLDownloadToFile.

    Effectivement cela va beaucoup plus vite c'est indéniable et c'est une super idée.

    Attention toutefois car le dossier "téléchargement" se charge lui toujours au même rythme (logique) donc s'il s'agit juste de télécharger les fichiers comme c'est le cas ici c'est un gain de temps indéniable.
    Par contre s'il s'agit dans la foulée de manipuler les fichiers téléchargés il faudra attendre que les fichiers soient téléchargés dans le dossier.

    N'hésite pas si tu vois des inexactitudes sur la manière dont j'ai procédé.
    Je vais étudier ton lien.

    @lenovo49: si tu veux que l'on sache si cela est possible d'utiliser ce type de procédure dans ton cas il nous faudrait l'adresse du site et savoir ce que tu cherches à faire concrètement.

    A+
    Fichiers attachés Fichiers attachés

  15. #15
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut


    David, tu as mélangé mes propos : les abeilles, c'est une chose,
    ouvrir directement un fichier Excel via une URL en est une autre !

    Dans ce dernier cas, ce n'est vraiment pas compliqué de faire le test manuellement :
    cliquer depuis une page Web sur un lien d'un fichier Excel
    ou encore sur l'icône Ouvrir d'Excel et entrer l'URL d'un fichier compatible Excel :
    le fichier va être téléchargé localement dans le dossier poubelle temporaire de la session avant de s'afficher dans Excel …

    Reste donc à l'enregistrer dans le dossier de destination soit par Enregistrer sous (SaveAs)
    soit en fermant le fichier dans Excel puis en le déplaçant du dossier temporaire vers le dossier de destination …

    C'est la méthode de "téléchargement" d'un fichier Excel du Web la plus simple pour un débutant mais toi tu n'en es pas un !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  16. #16
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Non Marc je pense avoir bien compris tes propos et fait la différence entre le fait d'ouvrir directement un fichier dans Excel et celui d'accélérer le téléchargement en utilisant une requête VBScript et en laissant Windows la traiter en parallèle.

    Mais tel quel, peut-être pourrais-tu encore accélérer ton processus en laissant Windows traiter en parallèle
    les requêtes (multi-tâches), VBA n'étant qu'un donneur d'ordre mono-tâche :
    c'est la méthode Let It Bee de ma contribution Accélérer une requête sur des multiples pages Web …
    C'est l'idée de la procédure du module Requete_http_VBScript (c'est bien ce qu'elle fait non ? Parce que si tu penses que ce n'est pas le cas alors effectivement là je n'ai pas compris quelque chose).

    A+

  17. #17
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut


    J'ai mal compris alors ta remarque sur les fichiers téléchargés, l'ayant mal associé au "téléchargement direct" d'Excel …

    Je n'ai pas bien regardé le code mais comme tu as l'air de bien te débrouiller !
    Toutefois je ne comprends pas l'intérêt de créer la fonction ScriptFile pour ne l'utiliser qu'une seule fois
    vu qu'un unique script vbs est nécessaire quelque soit le nombre de requêtes à effectuer …

    Sinon le code de ma contribution détruit le fichier script après le dernier retour
    mais dans ton cas il pourrait être détruit après son dernier appel …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  18. #18
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut re
    Bonjour à vous deux,

    Merci pour vos échanges mais pour recadrer sur mon sujet de départ, je souhaite savoir si la méthode de davido84 serait applicable par exemple sur
    ce lien (Je ne peux pas vous fournir l'adresse de mon site puisque c'est de l'intranet):

    Voici l'exemple qui se rapproche le plus:

    https://www.euronext.com/fr/popup/da...d71db6a6f38530

    En gros choisir les parametres et valider le "go" qui lui va déclancher une requete pour retourner un classeur en csv ou xls.
    Dans la méthode de davido84 est utilisé les balises href pour effectuer le téléchargement. A savoir si il est possible de pousser un peu plus loin en passant une requete en post qui embarque les variables et qui déclanche l'ouverture de ce classeur ?

    Ce serait pour avoir une autre approche que la méthode du "sendkey"

    A+ Lenovo49

  19. #19
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour lenovo,

    comme déjà indiqué (post #6), c'est possible via une simple requête,
    j'attends le retour d'itwoo (fin de semaine normalement) pour la publier dans la contribution idoine.
    Et cela laissera du temps à David - vu son excellent niveau - de s'y consacrer s'il le souhaite …

    Compter moins d'une cinquantaine de lignes de code pour la procédure,
    le bloc de la requête n'en nécessitant qu'une dizaine, le reste étant dévolu à sa préparation
    puis à la mise en page des données dans la feuille de calculs.

    En gros la requête est dans le tutoriel du post #11 mais le principal réside dans
    l'utilisation d'un navigateur pour trouver les paramètres de la requête utilisée par la page …

    Quelque soit la méthode employée, c'est du sur mesure selon la page web !
    A chaque développement, je pars quasiment d'une page blanche …
    J'ai besoin de bien plus de temps pour étudier la page qu'à écrire le code !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  20. #20
    Membre régulier
    Homme Profil pro
    developpeur
    Inscrit en
    Octobre 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 124
    Points : 104
    Points
    104
    Par défaut re
    Bonjour Marc,

    Merci de ta réponse, je ne te cache pas que j'ai hate de voir cette contribution ...

    Merci également à davodo84 si il souhaite se pencher sur ce sujet (vu son niveau ) qui me semble vraiment intéressant.

    A+ Lenovo49

Discussions similaires

  1. [PHP 5.4] Problème sur Firefox pour téléchargement de fichier (readfile)
    Par guillaume_74 dans le forum Langage
    Réponses: 1
    Dernier message: 13/11/2009, 10h26
  2. Réponses: 0
    Dernier message: 04/11/2009, 17h45
  3. [URL Rewriting] sur téléchargement de fichiers
    Par Dr.Wily dans le forum Apache
    Réponses: 44
    Dernier message: 20/05/2008, 14h40
  4. exporter etat sur fichier texte
    Par gui-llaume dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/11/2007, 17h16
  5. Réponses: 11
    Dernier message: 17/05/2006, 10h48

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