QueryTables.Add passage Excel 2007 à 2016

Bonjour à tous,

Je suis bien ennuyé car après plusieurs journées de code sous XL2007 je pensais avoir fini le boulot.

Les simulations se passaient bien ... et puis j'ai découvert XL2016 ...

Concrètement : j'effectue une requête Web sur Google Maps API, que je récupère en format JSON pour ensuite en extraire des infos telles que les distances et le temps de trajet.

  • Sous 2007, pas de soucis pour faire des calculs de trajets complexes.
  • Par contre dès que je passe à XL2016 j'ai droit à un magnifique "Excel a cessé de fonctionner" sans aucune autre explication.

J'ai exécuté plusieurs fois mon code en pas à pas, et XL s'arrête à QueryTables.Add dès que la requête devient trop complexe (plus de 2 points de passage).

Voici les lignes de code qui sont devenues mon némésis avec un exemple de trajet (vous aimez Paris?) :

requeteGMAPS = "https://maps.googleapis.com/maps/api/directions/json?&origin=48.845274%2C2.316012&destination=48.858391%2C2.294426&waypoints=optimize:false%7C48.880973%2C2.333393%7C48.902982%2C2.376308%7C48.925545%2C2.328587%7C48.882554%2C2.352791%7C48.89339%2C2.273312%7C48.873861%2C2.294941%7C48.871829%2C2.342148%7C48.871151%2C2.38472%7C&mode=driving"

With Worksheets("Feuil1").QueryTables.Add(Connection:="URL;" & requeteGMAPS, Destination:=Worksheets("Feuil1").Cells(1, 35))
                      .Name = "RequeteGoogleMaps"
                      .BackgroundQuery = True
                      .WebSelectionType = xlEntirePage
                      .WebFormatting = xlWebFormattingNone
                      .Refresh BackgroundQuery:=False
            End With

Avez-vous une idée de ce à quoi ça peut être dû ?

J'avais pensé à l'url de la requête mais si j'y arrive avec 2007, alors pourquoi pas sous 2016 ? (et l'URL fonctionne bien...vous pouvez essayer)

Merci pour vos retours !

Vincent

J'ai exactement le même problème,

la requête fonctionne très bien sous excel 2003 par contre sous Excel 2016 cela provoque une erreur et relance le programme excel sans plus d'information.

peut -être que le nombre d'information en retour est trop grand, en faisant une requête renvoyant que peu de ligne cela fonctionne bien dès que le nombre de ligne dépasse une valeur cela plante.

si vous avez une solution, je suis preneur.

cordialement.

Bonjour Vincent, yoyo63,

Je n'ai pas de solution mais peut-être une piste : je sais que PowerQuery a été intégré à Excel 2016, donc il se pourrait que le code VBA d'avant doive être modifié pour utiliser ce PowerQuery interne et plus le PowerQuery externe ; il y a peut-être des instructions VBA spécifiques à utiliser ? peut-être qu'il faut simplement enlever la référence au PowerQuery externe (macros complémentaires) ? car c'est peut-être une interférence entre les 2 PowerQuery qui aboutit à : "Excel a cessé de fonctionner" ? bonne chance !

dhany

Bonjour,

Pourrais-tu préciser ce que tu souhaites avec un fichier ?

Tu peux regarder ce sujet :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=107051

Cdlt.

Bonjour Jean-Eric,

J'ai enfin réussi à résoudre mon problème.

1°) passer à office 365 (plus trop le choix)

2°) attaquer PowerQuery....

Au final j'ai fait à l'ancienne : enregistrer macro, modifier la source (l'icone rouages dans PowerQuery) -> convertir en texte

Et j'obtiens après 20 lignes de code ce que j'obtenais avant en seulement 5...

Je suis assez surpris par PowerQuery au final, c'est plus complexe qu'avant...

Merci en tout cas pour ta réponse !

Bonjour Vincent,

Tu a écrit :

J'ai enfin réussi à résoudre mon problème.

J'en suis positivement ravi ! merci pour ton retour, et pour avoir expliqué comment tu t'y es pris !

(ça pourra servir à tous ceux qui ont le même problème que le tien)


Tu a écrit :

J'obtiens après 20 lignes de code ce que j'obtenais avant en seulement 5...

Je suis assez surpris par PowerQuery au final, c'est plus complexe qu'avant...

C'est bien d'la part de Microsoft, ça, de détruire les avantages des versions précédentes ! alors si vous vous d'mandez pourquoi j'continue d'utiliser ma version de 2007, vous avez la réponse, lollll !!! d'autant plus que j'ai acheté cette version légale en pack, avec CD et licence, et qu'j'ai aucun prix à devoir payer régulièrement pour un abonnement au coût prohibitif et exorbitant à moyen et long terme ! et c'est pas les astuces sournoises de Microsoft de rajouter de nouvelles fonctions Excel uniquement dans Office 365 qui vont m'faire changer d'avis, bien au contraire !!! car je refuse tout net d'être un mouton de panurge et un client vache-à-lait du trust oligarchique Microsoft !


La société Microsoft du début des années 80 qui cherchait à faire de bons logiciels, y réussissait, et pouvait en être fière (même si certaines de ses œuvres étaient basées sur le développement d'autres personnes ; exemple : le QDOS racheté à Tim Paterson), est devenue un horrible monstre capitalistique du consumérisme moderne à tout prix ! (vive Microsoft ! le Roi est mort ... vive le Roi !)

dhany

Rechercher des sujets similaires à "querytables add passage 2007 2016"