Création de cartes de communes et erreur car positions négatives

tutuf

XLDnaute Nouveau
bonjour,

je vous fais part d'un problème que je rencontre dans un programme vba, qui à partir de positions vectorielles issues d'un fichier svg (ici en l'occurence les communes du département de la gironde), doit créer les formes de ces communes sous excel - ce n'est pas moi qui est créé ce programme.
et le problème, c'est que certaines positions vectorielles (ce que je crois être à l'origine de mon problème!) sont négatives et donc mes communes ne se placent pas au bon endroit, en fait elles se placent majoritairement en butée le plus à gauche de la feuille.
j'ai essayé de modifier les données dans l'array, mais je n'y parviens pas.

quelqu'un pourrait-il m'aider?
je joins le fichier concerné.

merci d'avance
 

Pièces jointes

  • coordonnées des communes et carte france test2.xlsm
    113.1 KB · Affichages: 93
C

Compte Supprimé 979

Guest
Re : Création de cartes de communes et erreur car positions négatives

Bonjour Tutuf,

Pour moi tes coordonnées ne sont pas issues d'un fichier SVG !?
Le code de Arkham46 (ICI) ne fonctionne que pour ce type de coordonnées

A+
 

tutuf

XLDnaute Nouveau
Re : Création de cartes de communes et erreur car positions négatives

bonjour,

merci bruno45 pour ta réponse.
je ne suis pas spécialiste de ces questions de représntations vectorielles et fichier svg (m^me si j'ai essayé de me renseigner dessus).
j'ai l'impression que les données qui sont dans le fichier, même si elles ne viennent pas d'un fichier svg (je le croyais, mais bon. mais si vous connaissez une url de fichier svg des communes de france, je suis preneur!) donnent les bonnes formes, seulement il faudrait que je translate l'emplacement de la forme pour tout soit correct.

quelqu'un saurait-il soit où je peux dégoter les coordonnées des communes françaises en svg, soit comment je peux faire une translation des emplacements?

merci d'avance aux ames charitables et aidantes
 

Gruick

XLDnaute Accro
Re : Création de cartes de communes et erreur car positions négatives

Bonjour,

Les données que tu as sont des positions GPS en degrés décimaux.
Toute donnée à l'ouest du méridien 0 (de Greenwich qui passe en Gironde) seront négatives. Quelques communes cependant débordent à l'est (Voir St. Christophe de Double).

Ceci dit, Excel s'en fiche, lui, il dessine avec ses propres coordonnées, des points. Le point 0,0 sera le coin supérieur gauche de la feuille de calcul de la cellule A1, et une cellule banale sans aucune intervention a une largeur de 65 points. Donc aucune donnée négative n'est possible, puisqu'il n'y a pas de colonne avant la A.

Que faire, et bien ajouter 45 à chaque donnée de longitude. (-0,1 deviendra 44,9). Pourquoi 45, parce que c'est le parallèle (latitude) de Bordeaux, et que les formes dessinées seront plus homogènes.
Il ne faudra pas hésiter à multiplier toutes les données par 10 ou plus, pour avoir un dessin non microscopique.
C'est un travail de romain, car il te faudra examiner tout (541 lignes x chaque latitude). Monstrueux !

Alors, pourquoi ne pas investir une vingtaine d'euros maximum sur des cartes toutes faites que tu pourras trouver sur le site base de donnes et carte des cantons et communes de France 2012. entre autres.

Bon courage,

Gruick
 

tutuf

XLDnaute Nouveau
Re : Création de cartes de communes et erreur car positions négatives

je te remercie gruick, mais ce que je souhaite c'est avoir les communes dessinées en forme sous excel, afin de pouvoir tout retravailler. sur le lien que tu m'envoies, je ne vois que les coordonnées longitudes latitudes des communes mais rien pour les dessiner. maintenant je n'ai peut-être pas vu ce qu'il fallait.

merci quand même.

comment puis-je "ajouter" le nombre 5 par exemple à une donnée dans un array, qui est une position GPS?
 

Gruick

XLDnaute Accro
Re : Création de cartes de communes et erreur car positions négatives

Bonjour,

@BrunoM45
Je n'ai rien dit
Bien au contraire, tu as tout dit.
Le programme d'Arkham46, je me souviens l'avoir fait tourner jadis. Il ne veut plus rien savoir.

@Tutuf
Je crois que le programme analyse les données une par une. Il faut passer par une exécution dite "pas à pas", et zieuter la valeur de la variable à changer, en passant lentement à la souris sur son nom, Excel te dévoile sa valeur. Tu découvriras ainsi où il faut ajouter 45. Je ne peux pas plus d'aider, vu que le programme ne marche pas chez moi, et que tu sembles pouvoir le faire tourner, même si ça génère des trucs bizarres en haut à gauche, ça tourne.
Bonne analyse.

Gruick
 

tutuf

XLDnaute Nouveau
Re : Création de cartes de communes et erreur car positions négatives

voilà, j'ai réglé mon problème en faisant une translation des données de longitude via :

Code:
' décale de 5 la dimension longitude
For i = LBound(lCoordArray) To UBound(lCoordArray)
If lCoordArray(i) = "M" Or lCoordArray(i) = "L" Or lCoordArray(i) = "C" Then
lCoordArray(i + 1) = Val(lCoordArray(i + 1)) + 5
lCoordArray(i + 1) = Replace(lCoordArray(i + 1), ",", ".")
Else
End If
Next
 

Gruick

XLDnaute Accro
Re : Création de cartes de communes et erreur car positions négatives

Bonjour Tutuf,

Content que ça marche !

Est-ce que ça fait un dessin conforme ? J'aimerais bien voir ce que ça donne vu que chez moi...
Ca bloque sur le "z", erreur 1004, (l'indice etc...). Il est vrai que je n'ai qu'excel 2000 sur le PC.

Gruick
 

Discussions similaires

Statistiques des forums

Discussions
312 386
Messages
2 087 850
Membres
103 669
dernier inscrit
Anne Sicard