Microsoft 365 Graphe à bulles : une série par ligne ? + couleur condi + dimension temps / lecture dynamique ?

Charly88

XLDnaute Occasionnel
Bonjour à tous, les années & versions Excel passent mais je suis toujours in-ca-pable de faire un graphe sous excel sans y perdre des heures sans pour autant réussir. Saurez-vous me montrer la voie de la sagesse graphienne, ôh grands barbatrucoeurs ?

Je cherche à représenter 5 équipes (potentiellement 30) avec :
-taille de la bulle = km parcourus
-hauteur/ordonnée = score de difficulté
-abscisse = années d'entrainement
Le graphe actuel correspond à ce que je veux voir dans les grandes lignes. Je l'ai obtenu en 5 min... suivies de 2+h d'errance stérile :
-il ne comprend/n'affiche pas les titres en label des bulles
-il ne semble pas non plus comprendre les axes / n'affiche pas le titre de ces axes
Quant à faire dépendre la couleur des bulles d'une 4è dimension (ici fille/garçon mais j'aimerais utiliser une autre dimension avec 5-6 variantes, pas seulement 2)... Quelques recherches me ramènent très vide à des solutions de 2014 et du VBA de l'incontournable Jacques Boisgontier : même avec un Excel 365 flambant neuf, vais-je devoir en passer par là ?
L'écran d'édition des séries (photo) me semble logiquement complété mais je fais forcément erreur.
La solution est-elle de rentrer série par série, c'est-à-dire ligne par ligne ? Si j'en ai 30, dois-je coder ?

Dernier point bonus/optionnel mais que j'adorerais faire sans savoir si excel en est enfin capable : que le graphe lise les données dynamiquement, avec un axe temporel sur 12 mois. C'est-à-dire voir les bulles évoluer, en animation/vidéo, mois par mois, sans que l'utilisateur ait de VBA à exécuter.

Vous êtes mon seul espoir Obi-Wan Kenobi, merci d'avance pour toute solution / piste.
 

Pièces jointes

  • GrapheBulles3dim_EditSeries.png
    GrapheBulles3dim_EditSeries.png
    9.1 KB · Affichages: 13
  • Graphe Bulles 3 dimensions-Charly88-20221202.xlsx
    16.5 KB · Affichages: 7

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir à toutes & à tous, bonsoir @Charly88.
Je n'ai rien d'un Jedi, mais voyant ton post sans réponse j'ai un peu cherché.
Malheureusement la seule possibilité trouvée est de créer une série par Équipe.
Je t'ai écrit une macro adaptée aux données que tu présentes (je n'ai pas regardé la solution du regretté Jacques Boisgontier).
Pour s'adapter plus facilement à tes besoins j'ai créé 3 noms :
Titre : le titre du graphe
Données : la plage de données avec la ligne d'entêtes
Pos_Graph : la cellule du coin supérieur gauche du graphe
1671468489797.png

A toi d'adapter ces noms à tes données ...
Les bulles prennent la couleur des cellules F/G correspondant.
Ci-dessous le code
(J'ai affecté le nom de code "Sh_Graph" à ta feuille "Sheet1" :
1671468851950.png

VB:
Sub MesBulles()
Dim rg As Range, MyShp As Shape, MyChart As Chart, Ns As Series
    
     Set rg = Sh_Graph.[Données]
     On Error Resume Next: Sh_Graph.Shapes("Graphe à Bulles").Delete: On Error GoTo 0
     Set MyShp = Sh_Graph.Shapes.AddChart2(, xlBubble, Sh_Graph.[Pos_Graph].Left, Sh_Graph.[Pos_Graph].Top, 800, 400)
     MyShp.Name = "Graphe à Bulles"
     Set MyChart = MyShp.DrawingObject.Chart
     MyChart.HasTitle = True
     MyChart.ChartTitle.Formula = "='" & Sh_Graph.Name & "'!Titre"
     For i = 2 To rg.Rows.Count
          Set Ns = MyChart.SeriesCollection.NewSeries
          With Ns
               .Name = rg.Rows(i).Cells(1)
               .XValues = rg.Rows(i).Cells(4)
               .Values = rg.Rows(i).Cells(3)
               .BubbleSizes = rg.Rows(i).Cells(2)
               .HasDataLabels = True
               .DataLabels(1).ShowValue = False
               .DataLabels(1).ShowSeriesName = True
               .Format.Fill.ForeColor.RGB = rg.Rows(i).Cells(5).Interior.Color
          End With
     Next i
     With MyChart.Axes(xlValue)
          .MinimumScale = 0
          .HasTitle = True
          .AxisTitle.Formula = "='" & Sh_Graph.Name & "'!" & rg.Rows(1).Cells(3).Address
     End With
     With MyChart.Axes(xlCategory)
          .MinimumScale = 0
          .HasTitle = True
          .AxisTitle.Formula = "='" & Sh_Graph.Name & "'!" & rg.Rows(1).Cells(4).Address
     End With
End Sub
Le résultat :
1671468931500.png


Pour ton problème d'animation je ne connais pas de solution sans VBA, et il faudrait voir comment sont structurées tes données (mensuelles je suppose ...) ou peut-être avec une barre de défilement et des noms modifié par la position du curseur ...

Voir fichier en pièce jointe
Amicalement
Alain
 

Pièces jointes

  • Graphe Bulles 3 dimensions-Charly88-20221202.xlsm
    21.2 KB · Affichages: 5

Nairolf

XLDnaute Accro
Salut tout le monde, Charly88 et AtTheOne,

Voici ma petite contribution sans vba (formules incluses dans des noms, noms utilisés dans les séries de données et d'étiquettes).
Pour que ça fonctionne correctement, il faut saisir les équipes de filles en premier et les équipes de garçons ensuite.

Concernant la partie évolution, je pense que c'est possible, mais il faudrait que tu donnes un peu plus de détails sur l'organisation des valeurs que tu aurais.
 

Pièces jointes

  • Graphe Bulles 3 dimensions-Charly88-20221202_Nairolf.xlsx
    17.6 KB · Affichages: 5

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées