Calcul de distances

Bonsoir,

J'ai essayé de chercher un peu partout sur le forum mais je n'ai pas trouvé ce que je recherche...

Je m'explique : j'aimerai trouvé un moyen de calculer la distance entre deux adresses chacune étant dans une cellule d'un fichier Excel.

J'aimerai que ce moyen ne passe pas par une MACRO parce que je n'y connais rien...

En fouillant un peu sur le net j'ai trouvé une méthode :

- dans la colonne C, la liste de toutes les adresses (celle de départ comprise)

- dans la colonne D, la formule suivante

=SERVICEWEB("https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" &$C$7 & "&destinations=" & C3 & "&mode=driving")

avec en C7, l'adresse de départ qui sera la même pour tous les calculs et donc C3 qui est la première adresse de destination (ce qui fait que la formule rendra 0 lorsque je la copierai par le bas)

- dans la colonne E, la formule suivante qui devrait me retourner la distance en kilomètres

=FILTRE.XML(C1; "/DistanceMatrixResponse/row/element/distance/text")

mais en fait elle me renvoie la valeur #VALEUR! du coup, je cale !!

Si une bonne âme a une réponse ou une piste pour me guider.

Merci et bonne soirée.

Alors, en fait, j'ai trouvé, j'avais mal renseigné la cellule dans la deuxième formule !!!

Bonsoir,

J'étais en train d'essayer de comprendre ton souci.

Même si tu as résolu seul ton problème, est ce que tu peux mettre en ligne ton fichier final, cela pourrait me servir mais aussi peut-être à d'autres membres du forum.

Merci

Ok, un peu de contexte quand même...

En fait, je suis professeur des écoles remplaçant et pour vérifier le bon paiement de mes indemnités, j'ai créé un fichier Excel et il me fallait les distances entre mon école de rattachement et celles où je vais aller...

Donc les choses que j'ai modifiées :

En colonne D :

=FILTRE.XML(C1; "/DistanceMatrixResponse/row/element/distance/text")
=FILTRE.XML(D3; "/DistanceMatrixResponse/row/element/distance/value")
  • Ce qui correspond à la cellule où j'ai mis le SERVICEWEB (oui je sais erreur à la con)
  • J'ai changé la valeur de récupération pour pouvoir faire des calculs avec en prenant "value" qui renvoie la valeur en mètres plutôt que "text" qui renvoie du texte.

En colonne C :

=SERVICEWEB("https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" &$C$7 & "&destinations=" & C3 & "&mode=driving")
=SERVICEWEB("https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" &$C$1 & "&destinations=" & C3 & "&mode=driving")

- Là j'ai modifié en mettant une case pour l'adresse de départ comme elle ne change pas pour tous les calculs, ce qui permet de pouvoir changer l'adresse de départ sans modifier toutes les cellules.

Du coup, en colonne E, je multiplie la colonne D par 1000 et mets un arrondi pour obtenir un kilométrage calculable.

Et tout ça se passe dans le deuxième onglet...

1'149paimentindemnites.xlsx (29.63 Ko)

Je me suis permis de décocher "Résolu" car j'ai un petit souci...

La formule que j'ai rentrée (=serviceweb.........) renvoie la distance la plus rapide entre deux adresses, j'aurai voulu savoir s'il était possible pour que ce soit la distance la plus courte qui soit prise en compte...

Merci et bonne nuit.

Rechercher des sujets similaires à "calcul distances"