Crétation d'un nuage de point

Mel5739d

XLDnaute Nouveau
Bonjour à tous,
Je réalise un projet VBA, ayant pour objectif la répartiton plus ou moins optimiser de dispensaire dans des pays africain.
Pour cela nous avons fait une feuille par pays, où sont resencées les 10 plus grandes villes du pays et leurs coordonnées GPS (en décimal). Je voudrais maintenant les faire apparaître sur un graphique, pleine page, en nuage de point mais malgré de nombreux effort ça ne marche pas... pourriez vous m'aider? voici mon code :
p est le nom du pays choisit dans une combobox auparavant...

Sub emplacement(p)

Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Shapes.AddChart.Select

With ActiveChart
.ChartType = xlXYScatter
.HasTitle = True
.ChartTitle.Text = p
.Location Where:=xlLocationAsNewSheet
End With
ActiveSheets.Name = "Répartition " & p ' le but de cette ligne est d'obtenir comme nom de la page graphique répartition Angola par exemple en fonction de la "valeur" de p mais :S

For i = 1 To 10 ' devrait permettre de placer les différents villes mais :S
ActiveChart.SeriesCollection(i).Name = Sheets(p).Cells(i + 3, 7).Value
ActiveChart.SeriesCollection(i).XValues = Sheets(p).Cells(i + 3, 9).Value
ActiveChart.SeriesCollection(i).Values = Sheets(p).Cells(i + 3, 8).Value
ActiveChart.SeriesCollection(i).MarkerStyle = 1
ActiveChart.SeriesCollection(i).MarkerSize = 7
ActiveChart.SeriesCollection(i).Format.Fill.ForeColor.RGB = rgbBlue
Next

End Sub


De plus est-il possible d'avoir la même échelle en abscisse et en ordonnée pour plus de réalisme?


Merci beaucoup pour votre aide ;)
Bonne journée
 

Gruick

XLDnaute Accro
Re : Crétation d'un nuage de point

Bonjour,

Si j'ai bien compris, il s'agirait de mettre des points sur une carte, selon leur coordonnées.
Un fichier serait le bienvenu, car là, tu nous oblige à partir de zéro, sans la moindre coordonnée.
Le but du forum est d'aider, pas de concevoir.

A toi...

Gruick
 

Mel5739d

XLDnaute Nouveau
Re : Crétation d'un nuage de point

Merci à tous les deux ;)
j'ai réussi au niveau du graph à avoir ce que je voulais... par contre comment faire pour que les 2 axes aient le même pas d'échelle même si on les affiche pas sur les mêmes intervalles...
Bonne journée à tous
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Crétation d'un nuage de point

Bonsoir Mel5739d,

Je pense que le but de la question est d'avoir des caractéristiques des axes permettant de placer les villes sur un graphique en respectant les distances et grosso modo pouvoir deviner la forme approximative du pays.

Pour cela, la solution que j'ai trouvée consiste à:

1) calculer pour l'ensemble des points le maximum (MaxLat) et le minimum des latitudes (MinLat).

2) on clique sur l'axe vertical (qui doit être celui des latitudes) et on affecte dans les options de l'axe un minimum fixe égal à MinLat et un maximum fixe égal à MaxLat.

On fait de même avec les longitudes.

3) calculer pour l'ensemble des points le maximum (MaxLon) et le minimum des latitudes (MinLon).

4) on clique sur l'axe horizontal (qui doit être celui des longitudes) et on affecte dans les options de l'axe un minimum fixe égal à MinLon et un maximum fixe égal à MaxLon.

Ensuite on va modifier la taille de tout le graphique. Pour cela on calcule le ratio suivant:

5) Ratio= (MaxLat - MinLat) / (MaxLon - MinLon)

5 bis) A la souris, modifier la dimension de la zone de traçage pour qu'elle occupe à peu près toute la zone graphique (je n'ai pas trouvé comment modifier la taille de la zone de traçage autrement qu'à la souris!).

6) Dans les 'Formats de zone graphique' (clique-droit sur la zone du graphe puis choisr 'Format de la zone graphique'), on clique sur la rubrique de droite 'Taille'.

7) On repère la valeur de la hauteur (ex: 18 cm)
8) on divise cette valeur (18) par le ratio trouvé ci-dessus. Le résultat est la largeur à affecter à la zone graphique.

Pour l'exemple, j'ai récupéré des valeurs de latitude et longitude de villes de 4 pays (Grande-Bretagne, Tunisie, Italie, et Kenya).

J'ai réalisé les quatres graphiques (en nuages de points ou bien à bulles). Avec la méthode décrite ci-dessus, on distingue à peu près les contour du pays tel que nous avons l'habitude de les voir sur les cartes ordinaires.

Pour visualiser les graphiques et les calculs décrits ci-dessus, sélectionner dans le tableau (cellule E1) le pays désiré.
Les calculs des minimuns, maximums et ratio sont dans les colonnes H à T.

NB: La zone de traçage doit occuper à peu près toute la zone graphique!
 

Pièces jointes

  • Longitude et Latitude (les axes) v1.xlsx
    55.2 KB · Affichages: 93
Dernière édition:

Gruick

XLDnaute Accro
Re : Crétation d'un nuage de point

Salut,

@Mapomme,
Tu n'aimes pas les compliments alors je n'en ferai pas... (Bravo !)<---Désolé, ça m'a échappé

J'avais fait un truc de ce genre dans ce fil. https://www.excel-downloads.com/thr...nce-entre-deux-villes-via-google-maps.106712/

J'aimerai voir ce que ça donne avec le Chili, tout en longueur, pour le fun !!!
(Ou la Russie, ou l'Indonésie, tout en largeur)
Les parallèles et les méridiens nous réserveront sans doute des surprises, car nous sommes devant la quadrature du cercle.

D'où proviennent tes sources, que j'essaie.

Je vais aussi essayer de faire une macro qui me situe une ville choisie dans une listbox en changeant la couleur du point sur le graphique.

Gruick
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Crétation d'un nuage de point

Bonsoir Gruick :rolleyes:


Voici le lien que j'ai trouvé en furetant sur la toile. Le nombre de villes est très variable selon le pays choisi.

Une fois le pays cliqué, la page du pays concerné s'affiche.

Il faut ensuite cliquer sur le lien 'City & Town Population'. Toutes les villes n'ont pas des coordonnées (ville fantôme ?)

Après j'y suis allé d'une série de copier/coller du site vers Excel (ce qui marche le mieux, c'est de commencer la sélection en bas à droite du tableau et de remonter en haut à gauche du tableau)

Le lien vers la page de sélection du pays.

Le lien vers la page des villes du Chile.

Bon courage!

NB: Ton fil comprend 26 pages - ça va me prendre un certain temps à le dérouler!
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 836
Messages
2 092 652
Membres
105 479
dernier inscrit
chaussadas.renaud