|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Salut
Suite à cette discussion http://www.developpez.net/forums/d11...utiers-etapes/ et en adaptant l'approche dans ce sujet pour Excel http://www.developpez.net/forums/d85...-temps-trajet/ Je propose un fichier qui permet d'afficher sur une carte le chemin optimum qui permet de parcourir un ensemble de villes (en circuit ouvert ou en circuit fermé (ville de départ = ville d'arrivée). La recherche du chemin optimum recours à l'algorithme 2-opt amélioré et de ce fait, l'optimum trouvé peut ne pas être l'optimum absolu, d'où la possibilité de relancer plusieurs fois le code afin d'améliorer les résultats obtenu. La phase initiale commence par un chemin aléatoire entre les villes. Description du fichier: Le fichier est composé de 2 feuilles: DATA qui comporte:
Module OPTIMISATION: A partir d'un tableau rempli aléatoirement par les villes INPUT , le but du code est de permettre des permutations entre villes i et j, d'insertion d'une ville i entre les villes j et j+1 ou d'une ville j entre les villes i et i+1 ou d'inverser l'ordre du trajet entre les villes i et j (a, b, c) deviendra (c, b, a). Ces changement ne seront permis que si la différence entre la distance engendrée avec la distance initiale est négative (c'est à dire optimisation). Le code ci-après est facilement compréhensible avec une schématisation manuelle. Code :
Ce module permet entre autre de récupérer le tableau final du trajet optimisé et à l'aide des données GPS des villes de tracer le parcours optimal trouvé sur la carte (WebBrowser) Code :
Permet entre autre d'affecter à la plage INPUT des listes de validation dynamiques (pour ne pas saisir des villes en double ou mal orthographiées) Il permet aussi de gérer l'effacement des plages en fonction des actions de l'utilisateur. Code :
__________________
Cordialement. |
||||||
|
|
40
|
|
|
#2 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour Mercatog
J'essaie de faire fonctionner ta superbe contribution. Je n'ai pas Excel 2007 mais 2010. La carte ne s'affiche pas. C'est compliqué. Quand j'ouvre le fichier OPTIM TRAJ.xlsm, j'ai un message, Navigation vers la page Web annulée, Essayer la chose suivante...Saisissez à nouveau l'adresse. Que faut'il que je fasse ? Merci
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Bonjour Vadorblanc
Le fichier OPTIM TRAJ.xlsm et le fichier Carte.html devront être dans le même dossier. Sinon, je n'arrive pas à reproduire l'erreur que tu as.
__________________
Cordialement. |
|
|
10
|
|
|
#4 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour Mercatog
le fichier Carte.html fonctionne bien quand je clic dessus, la carte s'affiche. Le fichier OPTIM TRAJ.xlsm et le fichier Carte.html sont bien dans le même répertoire comme ta pièce jointe. Je pense que ce doit être ma configuration d'Excel 2010 par défaut qui bloque l'affichage de la carte, par contre je ne vois pas ce que je dois modifier. Je mets en pièce jointe la capture du message bloquant. Je vais essayer de chercher. Cordialement
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Bonsoir Vadorblanc
C'est dans les options de ton Excel Fichier> Options> Centre de gestion de la confidentialité> Paramètres du Centre de gestion...> Ensuite regardes les options de Paramètres ActiveX et Paramètres des macros. Aussi regarde la Barre des messages.
__________________
Cordialement. |
|
|
10
|
|
|
#6 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonsoir
Voilà, ça marche, j'ai du enlever toutes les restrictions dans le menu Options, c'est beau, faire cette prouesse avec Excel, c'est tout simplement génial... Ton fichier DATA comporte 20 destinations, est-il limité à ce nombre ? car le but est maintenant d'avoir un choix plus grand de villes, mais la difficulté est de rentrer les données longitudes latitudes distances, ce qui n'est pas rapide en manuel, peut-être sur une prochaine version... La géo localisation est un marché porteur et ton application va en faire rêver plus d'un... Un grand merci à toi, Bonne année Bonne santé, et beaucoup de programmations qui nous comble toujours de plaisir de te lire... Un lecteur assidu. Bien cordialement
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2009 Messages : 30 ![]() |
Bonsoir à tous,
Travaillant sur la même problématique je me suis permis de modifier le fichier de Mercatog : J'ai agrandi le tableau qui peut l'être encore en prenant certaines précautions Possibilité de mettre l'adresse précise (N°, rue etc...) En modifiant la colonne G dans DATA les actions suivantes sont lancées: mise à jour de la ligne et de la colonne dans le tableau à partir de Google Maps (on a, donc, un aller et un retour pour chaque destination, valable pour les petites distances) mise à jour de la latitude et de la longitude à partir du site de la cellule L2 Possibilité d'avoir une optimisation du parcours en fonction du temps définis dans Google Maps au lieu du nbre de km (en mettant une lettre dans la cellule K1 de TRAITEMENT) Rajout du détail de km (ou temps) entre les étapes dans TRAITEMENT Cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com