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 :

Donner une valeur de paramètre automatiquement dans une macro [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Conseiller d'entreprise
    Inscrit en
    Août 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Conseiller d'entreprise
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2017
    Messages : 8
    Par défaut Donner une valeur de paramètre automatiquement dans une macro
    Bonjour à tous,

    J'ai créé une macro (Excel 2013) pour ouvrir des pages internet automatiquement et récupérer certaines informations avec la fonction QueryTables
    Le problème c'est que à chaque fois avant d’ouvrir la page internet il ouvre une boite de dialogue et me demande de mettre une "valeur de paramètre" et ceci à 4 reprises avant d'ouvrir la page
    Nom : Valeur paramètres.JPG
Affichages : 144
Taille : 23,9 Ko
    Ça casse donc complètement le côté automatique de la macro d'autant qu'elle me permet d'ouvrir plusieurs pages
    Je pense que ça vient l'URL de la page internet quoi cherche des données dans une BDD
    Ce que j'aimerais c'est pouvoir donner une valeur de paramètre automatiquement et ceci dans la macro
    Car finalement cette valeur n'a pas d'importance quelque soit celle je mets la page internet s'ouvre sans problème

    Merci beaucoup d'avance à tous pour votre aide
    JcJaZz

    PS : ci-dessous la macro simplifiée en question (sans la boucle)

    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
        Sub Macro1()
        '
        ' Macro1 Macro
        '
           With ActiveSheet.QueryTables.Add(Connection:= _
                "URL;http://fr.soccerway.com/teams/comparison/?competition_ids%5B%5D=26&team_ids%5B%5D=323&competition_ids%5B%5D=26&team_ids%5B%5D=313" _
                , Destination:=Range("$A$1"))
                .Name = _
                "?competition_ids%5B%5D=26&team_ids%5B%5D=323&competition_ids%5B%5D=26&team_ids%5B%5D=313"
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = False
                .RefreshOnFileOpen = False
                .BackgroundQuery = True
                .RefreshStyle = xlInsertDeleteCells
                .SavePassword = False
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .WebSelectionType = xlEntirePage
                .WebFormatting = xlWebFormattingRTF
                .WebPreFormattedTextToColumns = True
                .WebConsecutiveDelimitersAsOne = True
                .WebSingleBlockTextImport = False
                .WebDisableDateRecognition = False
                .WebDisableRedirections = False
                .Refresh BackgroundQuery:=False
            End With
        End Sub

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 414
    Par défaut
    Bonjour,
    Je n'ai pas de solution. La seule chose que je puisse signaler est que le problème vient du fait que l'adresse http contient les caractères [ ] (%5B%5D dans l'adresse) qui sont interprétés par Excel comme autant de demandes de paramètre.
    //fr.soccerway.com/teams/comparison/?competition_ids[]=26&team_ids[]=323&competition_ids[]=26&team_ids[]=313
    Bonne continuation.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    bonjour,
    Apparemment ça marche très bien sans : YAKA s'en passer !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro1()
    Dim SStr$
    SStr = "?competition_ids=26&team_ids=323&competition_ids=26&team_ids=313"
    With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://fr.soccerway.com/teams/comparison/" & SStr, Destination:=Range("$A$1"))
    .Name = SStr
    .FieldNames = True
    'la suite sans changement...
    A+

  4. #4
    Membre habitué
    Homme Profil pro
    Conseiller d'entreprise
    Inscrit en
    Août 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Conseiller d'entreprise
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2017
    Messages : 8
    Par défaut
    Merci beaucoup à tous les deux pour vos réponses

    Effectivement comme le propose galopin 01 si je supprime les caractères %5B%5D dans l'adresse URL, la fenêtre "demande de paramètre" ne s'ouvre plus
    Ça c'est un bon point
    Mais par contre, la page internet copiée dans Excel ne contient pas toutes les informations et en particulier des tableaux de données qui justement m'intéressent et que je voudrais récupérer !
    On a fait un pas mais je suis confronté maintenant à ce manque de données

    Bien à vous deux

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Il semble que cette autre chaîne convienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim SStr$
    SStr = "?competition_ids%5B1%5D=26&team_ids%5B2%5D=323&competition_ids%5B3%5D=26&team_ids%5B4%5D=313"
    With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://fr.soccerway.com/teams/comparison/" & SStr, Destination:=Range("$A$1"))
    .Name = SStr
    .FieldNames = True
    'la suite sans changement...
    Nota : j'ai utilisé les paramètres 1,2,3,4 parce que tu as dit que n'importe quoi convenait...
    Mais ça n'empêche pas de tester d'autres valeurs pour voir s'il y a une (des) différence(s)
    A+

  6. #6
    Membre habitué
    Homme Profil pro
    Conseiller d'entreprise
    Inscrit en
    Août 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Conseiller d'entreprise
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2017
    Messages : 8
    Par défaut
    Super ça fonctionne !!!
    Merci beaucoup pour ton aide

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

Discussions similaires

  1. Donner une valeur à un paramètre dans un reportviewer
    Par royal38 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/01/2014, 13h19
  2. Réponses: 2
    Dernier message: 02/09/2011, 10h29
  3. [Requete] Comment donner une valeur par défaut à un paramètre
    Par soforever dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 14/05/2007, 09h21
  4. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  5. Réponses: 2
    Dernier message: 07/07/2005, 18h11

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