J'aurais besoin de votre aide. C'est à propos du calcul de la distance entre plusieurs coordonnées. Et faire trier de manière automatique les distances les plus proches parmis ces coordonnées. A savoir que les coordonnées ne sont pas ordonnées.
Vos suggestions seront les bien bienvenus.
Dans l'attente de votre retour
Bonjour Mmaiga, et bienvenu(e) sur XLD,
Un petit fichier test représentatif serait le bienvenu, cela éviterait des réponses évasives, ou non applicable à votre fichier.
L'idée est de trouver un doublon de PCI avec des cellules différentes dans un rayon de 15 km ou 20 km. La colonne B correspond à des cellules et la colonne D correspond aux valeurs de PCI suivi des coordonnées GPS . J'aimerais bien afficher dans la colonne E le doublon de PCI.
Si vous avez besoin de plus de précision je serais à votre disposition. J'espère que ma question a été claire..
Dans l'attente de votre retour...
A noter que j'ai enlevé quelques lignes car le fichier était trop volumineux.
Bonjour mmaiga,
Rien compris. Désolé.
1- Dans votre fichier vous avez déjà beaucoup de doublons avec même latitude, même longitude.
Par ex lignes 5 et 6 : 35299_001-61 et 35299_001-81, ou encore ligne 7 et 8 : 49373_001-61 et 49373_001-81
Ils seront fatalement doublons.
2- De ce que j'ai compris, pour chaque point définit par Lat et Long de chaque ligne, on recherche les autres points distants de moins de 20km ?
Si c'est ça, ça va être très très long en temps de calcul.
Et que faire si on trouve plusieurs points distant de moins de 20km ?
3- Si c'est bien ça, il faut recourir au VBA, mais acceptez vous des macros VBA ?
NB: pour trouver une distance entre deux points définis par leur lat et long, il suffit de faire par ex dans votre fichier en I2:
Bonjour mmaiga,
Rien compris. Désolé.
1- Dans votre fichier vous avez déjà beaucoup de doublons avec même latitude, même longitude.
Par ex lignes 5 et 6 : 35299_001-61 et 35299_001-81, ou encore ligne 7 et 8 : 49373_001-61 et 49373_001-81
Ils seront fatalement doublons.
2- De ce que j'ai compris, pour chaque point définit par Lat et Long de chaque ligne, on recherche les autres points distants de moins de 20km ?
Si c'est ça, ça va être très très long en temps de calcul.
Et que faire si on trouve plusieurs points distant de moins de 20km ?
3- Si c'est bien ça, il faut recourir au VBA, mais acceptez vous des macros VBA ?
NB: pour trouver une distance entre deux points définis par leur lat et long, il suffit de faire par ex dans votre fichier en I2:
Je vais éclaircir d'avantage. Pour les cellules 61 et 81 que vous venez de citer ils sont les même PCI dans ce cas en terme de stratégie (pas de doublon) idem pour le 62/82 et 63/83 de la même cellule. Ce que je cherche approximativement c'est d'avoir le même PCI avec des cellules différentes dans un rayon de 15 à 20 KM.
2. A propos de de ta question, oui ce que je cherche.
3. Un code VBA est la bienvenue.
J'aimerais avoir cette approche via ce fichier ci-joint. Si j'arrive à afficher les sites tels que les villes sont affiché ça sera parfait pour moi. Le reste je peux me débrouiller.
J'ai essayé de l'adapter avec mon cas, mais je n'arrive pas car il m'affiche des erreurs dans les calcules
Un essai en PJ avec Worksheet_Change dans la feuille Coordonnées, avec ce que j'ai compris.
La macro est automatique si on modifie La ville de référence en G10 ou la distance max en P1.
C'est le 3eme fichier différent. Donc trois fois le travail.
Pourquoi ne pas mettre le bon fichier et les bonnes explications dès le premier post ?
Je n'avais pas envie de repartir de 0, donc je suis reparti de mon fichier. Voir PJ.
Le temps d'exécution est autour de 5s sur mon PC.
J'ai rajouté dans le statusbar l'évolution des calculs, ainsi que le temps de calcul en G12.