VBA graphique nuage de point

Mel5739d Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à faire un graph nuage de point à partir de données dans une nouvelle feuille, voila se que j'ai codé mais ça ne marche pas du tout pourriez vous m'aider?

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

For i = 1 To 10
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, je cherche comment avoir une échelle fixe pour les deux axes car les valeurs sont des coordonnées GPS (en décimale) et ce serait plus réaliste...


Merci à tous pour votre aide ;)

Bonne Soirée A+
A voir également:

5 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

ton code

For i = 1 To 10  
  ...  
Next

produit 10 séries de données de 1 point chacune
est ce que ce ne serait pas plutôt 1 série de données avec 10 points ?
un code dans ce sens à adapter

Public Sub emplacement(p)  
Dim i As Long  
Dim c As ChartObject  
Sheets.Add After:=Sheets(Sheets.Count)  
ActiveSheet.Name = "Répartition " & p  
Set c = ActiveSheet.ChartObjects.Add(Range("A1").Left, Range("A1").Top, 300, 200)  
With c.Chart  
  .ChartType = xlXYScatter  
  .SeriesCollection.NewSeries  
  .SeriesCollection(1).XValues = Sheets(p).Range("A1:A3")  
  .SeriesCollection(1).Values = Sheets(p).Range("B1:B3")  
  .HasTitle = True  
  .ChartTitle.Characters.Text = "graph1"  
  .SeriesCollection(1).MarkerStyle = 1  
  .SeriesCollection(1).MarkerSize = 7  
  .SeriesCollection(1).MarkerBackgroundColorIndex = 34  
  .SeriesCollection(1).MarkerForegroundColorIndex = 5  
  .Axes(xlCategory).MinimumScale = 0 
  .Axes(xlCategory).MaximumScale = 3 
  .Axes(xlValue).MinimumScale = 0 
  .Axes(xlValue).MaximumScale = 7 
End With  
End Sub

bonne suite
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
un début de solution (à adapter)
https://www.cjoint.com/?0EbwfOiU5r1

bonne suite
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
fichier modifié à 22h06
0
Mel5739d Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci j'ai réussi en mixant les deux a obtenir ce que je voulais... ;)
Par contre peut-on avoir la même échelle pour chaque axe même si on les affiches pas sur les différents intervalles?
Par exemple:
x entre 29 et 31
y entre -2,5 et -4,5
avec un pas pour 0,5 de 1cm par exemple sur les deux axes
Merci encore bonne journée :D
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
je ne vois pas bien ce que tu veux dire,
pour le minimum et le maximum, c'est la propriété MinimumScale et MaximumScale
pour le pas c'est la propriété MajorUnit
de chacun des axes qu'il te faut utiliser

peut être as tu voulu parler de taille physique du graphique?

si tu as voulu dire autre chose, re-expliques ...

bonne suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mel5739d Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
merci de ton aide,
je voudrais que visuellement 1 unité d'abscisse ai la même taille que 1 unité d'ordonnée, dc au final avoir un graphique plus ou moins rectagulaire, car ce osnt des coordonnées gps qui sont représentées et donc cela permettrait s'être plus réaliste par rapport au pays...
Ex : le Ghana 1 degré de longitude et 6 de latitude j'aimerai donc avoir un graph avec un axe des abscisses très court et un axe des ordonnées proportionnellement plus grand...
Merci de votre aide
(J'espère que c'est plus clair.... ) :D
0