XL 2013 Trouver les communes dans un rayon km

arthour973

XLDnaute Barbatruc
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
 

Fichiers joints

herve62

XLDnaute Barbatruc
Bonsoir
Je ne vois pas comment cela fonctionne ?? chez moi , il est impossible de telecharger les données en cliquant en A1
 

arthour973

XLDnaute Barbatruc
Bonjour Hervé,

LOL, mon niveau en vba ne me permet pas d'automatiser :
Je ne sais pas entrer directement (à partir du classeur excel) le code postal et le rayon,
Je ne sais pas importer le résultat (communes trouvées et listées sur le site)

Donc je fais comme ceci :
1 - ouvrir le classeur,
2 - cliquer sur le lien pour aller sur le site,
3 - saisir le code postal et la distance (sur le site),
4 - sélectionner et clic droit copier les communes trouvées (sur le site),
5 - les coller à partir de A2 dans le classeur excel et cliquer sur le bouton "prépare liste"

ça marche chez moi
Amicalement,
arthour973
 
Dernière édition:

tatiak

XLDnaute Barbatruc
Salut à tous,

Je me permets de proposer une méthode différente.
L'idée ici est d'utiliser les données en OpenData du site "public.opendatasoft.com"

On saisit le CP et la ville du "point zéro" en K1 et L1, la distance maxi en M1 (onglet "Base")

Pour accélérer le traitement, on limite la recherche dans certains départements en cochant dans la liste à gauche (dans l'exemple joint seul le Morbihan est coché)

Un clic sur le bouton "Acquisition" :
* sélectionne les données du site "public.opendatasoft.com" correspondant au kilométrage maxi indiqué depuis le "point zéro"
* colle la liste des communes sélectionnées dans les colonnes O, P, Q et R
* dessine la carte de ces communes dans l'onglet "Carte"

A noter :
-- dans l'onglet "Base", il a des colonnes "Indicateurs" à partir de la colonne S
Après acquisition, il suffit de saisir les indicateurs que vous voudrez pour :
* les retrouver dans la liste déroulante de l'onglet "Carte"
* colorer la carte en fonction de ces indicateurs après en avoir sélectionné un dans la liste déroulante (l'échelle des valeurs s'établit en fonction du jeu de valeurs)

-- Le premier indicateur est le kilométrage (ça m'a servit pour étalonner l'échelle)

-- Si l'échelle de la carte ne convient pas, il suffit de changer la valeur de l'échelle en haut à gauche de l'onglet "Carte", puis de refaire l'acquisition de données

-- plus vous sélectionnez de départements à inclure dans la recherche, plus le traitement prendra du temps.

-- les distances sont calculées en ligne droite entre les épicentres Gps des communes

-- la partie "dessin de la carte" provient de mon site => http://tatiak.canalblog.com/archives/2019/01/03/36988017.html

Bon dimanche
Pierre
 

Fichiers joints

herve62

XLDnaute Barbatruc
Bonjour
@arthour973 : justement c'est ton Point 2) , qui me donne le message "Impossible de telecharger .."
@tatiak : Cà plante init avec sheet "Base" , ? je vois pas pourquoi si je continue c'est avec avec function "oRecordset" au
.send
 

tatiak

XLDnaute Barbatruc
Cà plante init avec sheet "Base" , ? je vois pas pourquoi si je continue c'est avec avec function "oRecordset" au
.send
Au début de la Function oRecordSet tu fais un debug.print site
Qu'est-ce que tu obtiens?
 
Dernière édition:

arthour973

XLDnaute Barbatruc
Bonjour Pierre

Merci d'être encore là encore une fois pour améliorer mon p'tit truc ;)
Mais chez moi, ça plante là :

Function oRecordSet(Site As String) As Object
Dim ScriptControl As Object, Html As Object, Obj As Object

Set ScriptControl = CreateObject("MSScriptControl.ScriptControl")

Très bonne nouvelle année à toi ::)
Amicalement,
arthour973
 

tatiak

XLDnaute Barbatruc
Mouais, ça sent la version Excel 64 bits.
CreateObject("MSScriptControl.ScriptControl") n'est pas compatible avec Excel 64 bits
Il y a très peu de raison à avoir une version Excel 64 bits ...
 

arthour973

XLDnaute Barbatruc
Re-Pierre,

Mon ordi est en 64 mais je suis presque certain d'avoir installé excel en 32.

Je suis sous Windows 10 et je cherche comment trouver si excel est en 32 ou 64.
Quand j'aurai trouvé, je te dis.
:)
 

herve62

XLDnaute Barbatruc
@tatiak
1) le sheets("base") > résolu .. encore le pb de fichier "caché" (hiden) si l'on teste depuis le site , il faut mettre sur son PC
2) voir image pour le resultat function
Pour 64bits , je ne peux rien avancer mais à fin 2017 en milieu pro pour être passé de 2013 à 2016 je n'ai toujours vu que du 32bits
sous W10 pro 64bits
@arthour973 : simple ; fichier > aide , tout s'affiche
 

Fichiers joints

arthour973

XLDnaute Barbatruc
Bonjour Pierre,
Bonjour à toutes et à tous,

J'ai fini par trouver et effectivement sur l'ordi de mes tests, j'ai excel 64 bits.

J'ai donc testé ton fichier sur mon ordi de travail en 32 bits.

ça beug ici :
BEUG.jpg

J'ai mis aussi le fichier en pièce jointe.
Peut-être ai-je mal saisie les infos ?
J'ai saisi 17000 LA ROCHELLE.

Bonne journée à toutes et à tous,
Amicalement,
arthour973
 

Fichiers joints

tatiak

XLDnaute Barbatruc
Bonjour,

La Rochelle c'est en Charente-Maritime => donc on fait une croix dans la case H63 en face de "Charente-Maritime" en plus de saisir LA ROCHELLE en L1 (et on peut effacer la croix en face de MORBIHAN en H25)

Rq : on peut effacer toutes les données à partir de la colonne AA et suivantes vers la droite (données de test oubliées et inutiles)

Pierre
 

Fichiers joints

arthour973

XLDnaute Barbatruc
Re-Bonjour Pierre,

J'ai testé ton nouveau fichier et ça marche super.
Un grand merci il me sera très utile et à d'autres certainement :)
Bonne fin de journée,
Amicalement,
arthour973
 

herve62

XLDnaute Barbatruc
Bonjour
J'aurai bien aimé utiliser ce fichier , mais hélas cela ne fonctionne pas chez moi
Erreur de téléchargement en cliquant sur https: ......
ou après avoir mis une croix en face de département et clic acquisition
Comment cela fonctionne t-il ?
 

arthour973

XLDnaute Barbatruc
Bonjour Pierre,
Bonjour Hervé62,
Bonjour à toutes et à tous,

J'espère que Pierre ne m'en voudra pas trop d'avoir modifié son fichier pour mon adaptation de travail.
Chez moi ça fonctionne

Ce que je fais - Feuille Base :
1 saisie en k1 code postal
2 saisie en L1 nom de la commune EN MAJUSCULE
3 clic sur J1 pour que la X se mette en face du département
4 saisie en M1 distance rayon
5 je clique sur Recherche

le code efface la recherche précédente fait la nouvelle recherche,
Je dois re-traiter les infos et j'ai ajouté un code qui me les copie et formate selon mon besoin en feuille Traitement.

La recherche est un peu longue mais ça fonctionne chez moi.

Mais je viens de m'apercevoir que si je veux chercher autour de PARIS 75000 ou 75001 etc, ça ne marche pas et j'ai testé aussi sur Lyon, Marseille : Pareil ça beugue.
On dirait que ça ne fonctionne pas pour les communes qui ont des arrondissements.

Je joins le fichier
Bonne journée à toutes et à tous,
amicalement,
arthour973
 

Fichiers joints

Dernière édition:

tatiak

XLDnaute Barbatruc
@herve62 :
Ca ressemble à un blocage de pare-feu ou d'antivirus paranoïaque ou un truc du genre ...
En tout cas, ça marche avec un PC ordinaire avec Windows10 ordinaire et Office 2016 32bits (sans antivirus "qui-bloque-tous-les-complots-des-illuminatis")

Pierre
 

Fichiers joints

Dernière édition:

arthour973

XLDnaute Barbatruc
Bonjour Pierre,
Je vais refaire des tests mais alors, pourquoi ça fonctionne pour les autres codes postaux ? (pour les communes sans arrondissements)
arthour973
 

arthour973

XLDnaute Barbatruc
Voir la pièce jointe 1023282 Re-Pierre,

Je ne comprends pas.
Il y a des communes qui fonctionnent et d'autres pas.

Je n'ai que défender comme antivirus et j'ai tout désactivé pour voir.
(mais cela n'expliquerait pas pkoi ça marche pour certaines communes)

Je suis sur un PC portable avec Windows10 ordinaire et Office 2016 32bits
oggice 32 bits.jpg

Par exemple, j'ai essayé avec :
MOUANS SARTOUX (6130)

ça beugue mais aussi avec bien d'autres communes
c'est ici que ça beugue :

blocage.jpg


Amicalement,
arthour973
 
Dernière édition:

Discussions similaires


Haut Bas