XL 2013 Trouver les communes dans un rayon km

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je vous renouvelle tous mes voeux pour cette nouvelle année et vous remercie encore de votre aide si précieuse.

Pour une fois LOL, j'apporte un petit travail qui est très certainement perfectible.

Pour mon travail, j'ai en quasi-permanence besoin de trouver la liste des communes qui sont dans un rayon d'un nombre de km à partir d'un code postal/ville km 0.

J'avais trouvé un site que j'utilisais depuis des années mais qui ne semble plus accessible :
http://www.lion1906.com/Pages/francais/infos/departements.html

Trouver les communes dans un rayon est très important pour moi et je me suis mis depuis hier en recherche d'une solution.

Après bien des recherches, j'ai fini par trouver ce site :
http://www.codepostauxfrance.com/rayon-de-recherche-par-code-postal

Super site et qui fonctionne très bien.

Il suffit de sélectionner les communes trouvées et de les copier à partir de A2 dans mon fichier.
Mais pour que je puisse copier les résultats dans le classeur secteur de mes clients, il m'a fallut créer un fichier pour re-traiter les infos.

Voilà qui est fait. Certainement très simple aux yeux des magiciens de vba mais ça marche.

En faisant mes recherches sur le net, je me suis aperçu que d'autres recherchent une solution à ce même besoin.

Modestement, je joins mon fichier qui pourra peut-être être utile à d'autres.

Amicalement,
arthour973
 

Pièces jointes

  • listes communes.xlsm
    41.1 KB · Affichages: 148

laurent950

XLDnaute Accro
Bonjour Staple1600,

Pour répondre à tes questions :

Je ne peux en dire plus (car actuellement sous XL 2003) :
- J'ai la version 2013

J'ai donc converti le classeur qui te pose problème en *.xls et quand je l'ouvre j'ai une feuille nommée: base
qui s'affiche.
- Le problème viens que j'ai pas télécharger et ranger le fichier texte dans le même dossier que le fichier excel (geoflar-communes-2016_light.txt)

Quelle est ta version d'Excel? = (Verison Office 2013)

NB:Tu télécharges bien le fichier "complétement" sur ton disque.
Tu ne l'ouvres pas directement lors du téléchargement ?
- Si je fais cette erreur effectivement après ta remarque je vais penser à les ouvrirent sans activer les macros

(dans ce cas, c'est une version temporaire qui s'ouvre stockée dans %temp% et parfois cela cause des problèmes)

PS: J'ouvre toujours les fichiers Excel issus du web (XLD compris) sans activer les macros
Ensuite je vais voir le code VBA (inhibe le cas échéant le code dans le WorkBook8open)
puis je réouvre le classeur en activant les macros.
- Très bonne remarque je ferais attention (C'est vrais parfois je me pose la question de certains sur la crédibilité de leurs postes !)

Ps : J'ai compris et j'arrive a faire fonctionner le fichier maintenant. je vais décortiquer se code pour le comprendre notamment une API (je connais pas) je vais travailler sur se sujet et documenter et vous en ferais part une fois compris

Merci Beaucoup Staple1600.

Laurent
 

laurent950

XLDnaute Accro
Bonjour Tatiak,

une question pour ces deux version : #Poste 25 et #Poste 33
------------------------------------------------------------------

1 ) Fichier avant poste #33
qui se met à jours selon le principe de mises à jour, avec tout l'intérêt de la méthode de lecture via l'API qui lit le fichier sur OpenDataSoft au fur et à mesure.

Merci Tatiak (J'ai bien compris grâce à votre message) / au Poste #33 (2 fichiers "1 Excel" et "1 texte") dans le même dossier
Fichier excel avec fichier texte :
fichier excel nécessite d'avoir le fichier texte (geoflar-communes-2016_light.txt) dans le même dossier

Question : suite à ce poste 1 )
---------------------------------
Le fichier a été simplifié et allégé (pour passer de 100Mo à 3,7Mo) = J'ai trouver aucun fichier à 100 Mo dans le fils.
-------------------------------------------------------------------------------------------------------------------------------
- Dans le Fil le fichier 100 Mo est dans qu'elle Poste ? (Je pense qu'il n'est pas dans le fil)
3,70 Mo est dans qu'elle Poste ? soit le Poste #33 (Si j'ai compris)

- Le fichiers a 100 Mo version complète c'est possible d'en avoir une copie si dans aucun poste ?

Question :
-----------
Qu'elle est le bout de code supprimé Poste #25 pour passer à la version poste #33 (sans API) ?

Comment ajouter et créer une carte dans la feuille dans excel ?
- L'appli est simplifiée également (on a plus de carte dessinée) = Cette carte dépend d'une API ?

Techniquement :
C'est quoi une API ?
Possible d’identifier dans les fichiers de ses 2 Poste :
Poste N° #25 ?? (Fichier excel avec API) et le bout de code ou procédure
Poste N° 33 ?? (Fichier excel sans API) Pour comprendre la différence en lisant le code avec API

' *********************************************************************************************************************************************

Question : suite à ce Poste #25 : Distances_CP_2019_v0.3c_ST_JUST.xlsm
--------------------------------
Comment sont créer les dessin sur la feuille Carte du fichier Excel

Techniquement :
Cette carte = Cela dépend d'une API ?
La mise a Jours cela dépend d'une API ?

Si vous acceptez de me répondre je vous remercie par avance.

Grand Merci Pierre pour les faire fonctionner votre fichier
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Pierre, le Forum,

je suis désolé de ne pas être revenu plus tôt sur ce fil que j'ai relancé.

@Pierre
Je repose le souci :
J'ai 2 ordinateurs sur lesquels je me sets du classeur génial de Pierre.
Les 2 ordinateurs sont exactement les mê avec même excel
Ordi chambre : windows10 64b excel 2016 32b (c'est un ordi de bureau)
ça marche je m'en sert depuis plusieurs mois

Ordi bureau : windows10 64b excel 2016 32b (c'est un portable) ça marche ne plus sans avoir rien touché
ça marchait et je m'en servais depuis plusieurs mois
et depuis la semaine dernière, sans rien avoir touché ça plante ici :

Code:
Function Dist(C0 As String, C1 As String) As Single
Dim S0 As Variant, S1 As Variant
Dim V(5) As Single

    S0 = Split(C0, "|")
    S1 = Split(C1, "|")
>>>   V(0) = Sin(Application.Radians(CSng(S0(0))))  <<<

Suite au message du post #59
Code:
J'ai remplacé :
Function Dist(C0 As String, C1 As String) As Single
Dim S0 As Variant, S1 As Variant
Dim V(5) As Single
par
Function Dist(C0 As String, C1 As String) As Double
Dim S0 As Variant, S1 As Variant
Dim V(5) As Double
(à la place des "Single")
et ça continue de planter au même endroit.

Je ne comprends que ça marche toujours sur l'ordinateur de bureau ???
Peut-être une mise à jour windows sur le portable ???

Je vais tester la code de JM post #57,
@+
lionel :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Pierre,

Là, je suis sur l'ordinateur portable de mon bureau (c'est là qu'il ne fonctionne plus)
Après avoir copié ton nouveau code

ça beug ici :
Function Dist(C0 As String, C1 As String) As Double
Dim S0 As Variant, S1 As Variant
Dim V(5) As Double

S0 = Split(Replace(C0, ".", ","), "|")
S1 = Split(Replace(C1, ".", ","), "|")

Debug.Print "1-" & S0(0) & "-"
Debug.Print "2-" & CSng(S0(0)) & "-"
Debug.Print "3-" & Application.Radians(CSng(S0(0))) & "-"
Debug.Print "4-" & Sin(Application.Radians(CSng(S0(0)))) & "-"

Fenêtre exécution : 1-43,6463117052-

Encore merci à toi de te pencher sur mon cas :)
Ce qui n'est pas compréhensible pour moi'est que sur l'ordinateur de bureau dans ma chambre ça marche avec tes codes d'origine.
lionel,
 

laurent950

XLDnaute Accro
Bonjour et Merci Tatiak,

* Une API c'est une "Application Programming Interface", soit une interface qui permet à une appli de fournir des info à la demande.

Il y a beaucoup de variables est fonction dans le classeur qui intègre l'API, que je comprend mais que je ne sais pas faire fonctionner (le chemin et méthode)

Par un exemple vraiment très simple
Avec uniquement le minimum de ligne de code nécessaire pour extraire cette partie (et la coller dans une feuille excel a un endroit le plus simplement possible).
via ce lien : (la 1er ligne de ce tableau)
https://public.opendatasoft.com/explore/dataset/geoflar-communes-2016/table/
comment récupérer cette image et la coller dans Excel (avec API et JSon)
1564508232204.png


Uniquement cela pour comprendre avec ce cas de figure, l'API utilisée est celle de public.opendatasoft.com qui fournit des info au format json via "Http Rest" en requête GET.
Pour utiliser ces info dans Excel, il est donc nécessaire de décoder le json au moment de la lecture.

C'est vraiment très très intéressant Pierre, Merci j'ai passé du temps à lire est comprendre et c'est pour cette raison avec un départ pour comprendre le fonctionnement (le plus simplement possible)

Laurent
 

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ai retrouvé un classeur qui déterminait les 7 villes les plus proches de chacune d'une liste.
J'en ai extrait seulement la région AUVERGENE-RHONE-ALPES pour pouvoir le joindre.
 

Pièces jointes

  • VillesProchesArthour973.xlsm
    387.2 KB · Affichages: 16

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67