Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonjour,

Je souhaiterais un graphique tel que décrit dans mon exemple joint avec quelques données et avec les lignes -marqueurs présentant la couleur du code légendé.
C'est pas simple car Excel me présente toujours le tableau des abcisses inversés.(et non les nombres en abcisse)

Merci de votre aide.

A+
 

Pièces jointes

Re : Graphique.

Bonsoir Job,

Merci de ta réponse.

Un aperçu joint avec seulement 2 couleurs (ne pas tenir compte des données du graphe sur l'image), j'aimerais dans mon cas 5 couleurs en fonction du code en colonne A.


Est-ce plus clair?
Bonne soirée
 

Pièces jointes

  • graphique.jpg
    42.1 KB · Affichages: 72
  • graphique.jpg
    42.1 KB · Affichages: 69
  • graphique.jpg
    42.1 KB · Affichages: 57
Re : Graphique.

Bonsoir JJ1, job75

Quelque chose de ce type ?

La construction:
  • sélectionner Y1:CV7
  • faire un graphique en courbe avec marqueur
  • pour chaque série, choisir aucun trait
    • astuce 1: si on a du mal à double-cliquer sur la série, mettre temporairement en colonne AA pour toutes les séries, la valeur 4,5. Chaque courbe fera un coude facilement cliquable
    • astuce 2: une fois l'option réalisée pour une courbe, sélectionner un autre courbe puis taper la touche de fonction F4
  • supprimer les quadrillage horizontaux
  • le quadrillage vertical principal est positionné sur les graduations.
  • modifier les couleurs de série et la forme des marqueurs


nb: graphique 2010 sauvegardé en format 2003.

Nota: voir fichier au post #8
 
Dernière édition:
Re : Graphique.

Re, salut mapomme,

Une solution avec des données intermédiaires qui définissent les ordonnées des points.

Ces lignes intermédiaires (3-5-7-9-11-13) ne doivent pas être masquées, je leur ai donné la hauteur 1.

A+
 

Pièces jointes

Re : Graphique.

Bonjour à tous,

En remplaçant la formule en Z2 de la v1 par la formule =SI(NB.SI($B2:$U2;Z$1)>0;LIGNE()-1;NA()) et en la recopiant dans le reste du tableau, on retombe sur un graphique identique à l'interprétation de job75 (séparation en deux lignes différentes des courbes correspondant aux deux codes 4)
 

Pièces jointes

Dernière édition:
Re : Graphique.

Bonsoir,

Merci pour vos graphes, c'est complexe.

Pour Job: Parfait sauf que j'ai environ 200 lignes et je ne vois pas trop comment remplir les lignes masquées.
Pour ma pomme: les valeurs vertes (5 puis 5 sont sur la même ligne appelée 4a et 4b), elles doivent être dans l'ordre successif et pas mélangées en 10 (5+5)

Je vais étudier tout ça mais j'ai de quoi.....
merci beaucoup et bonne soirée


Re, on s'est croisé. Merci pour le 2ème fichier. Il semble inversé 'la première série est en bas).
Pourquoi garder 4a et 4b ?
merci.
 
Dernière modification par un modérateur:
Re : Graphique.

(re)Bonsoir JJ1,

(...) Pour ma pomme: les valeurs vertes (5 puis 5 sont sur la même ligne appelée 4a et 4b), elles doivent être dans l'ordre successif et pas mélangées en 10 (5+5) (...)

Comme les deux série avaient le même code 4, j'en ai déduit arbitrairement, intuitivement et faussement qu'elles devaient être réunies sur une même ligne😱

(...) Pourquoi garder 4a et 4b (...)
Comme j'ai réuni les deux séries 4 sur la même ligne dans le graphique, 4a et 4b permettaient malgré tout de visualiser chacune des séries.

(...) Il semble inversé 'la première série est en bas (...)
Un peu de fantaisie, ça fait pas de mal? 😛

Je vais joindre un fichier qui redresse tout ça 🙄
 

Pièces jointes

Dernière édition:
Re : Graphique.

Bonjour JJ1, mapomme, le forum,

Je reviens sur ce fil avec une macro pour créer le graphique :

Code:
Sub CréerGraphique()
Dim F As Worksheet, plage As Range, rc&, cc%, a, i&, j%
Set F = ActiveSheet
Set plage = F.[D2:W7] 'à adapter
rc = plage.Rows.Count
cc = plage.Columns.Count
ReDim a(1 To cc) 'tableau auxiliaire
Application.ScreenUpdating = False
F.ChartObjects.Delete 'RAZ
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.Location xlLocationAsObject, F.Name
With ActiveChart
  For i = .SeriesCollection.Count To 1 Step -1
    .SeriesCollection(i).Delete 'RAZ
  Next
  For i = 1 To rc
    For j = 1 To cc
      a(j) = rc + 1 - i
    Next
    With .SeriesCollection.NewSeries
      .XValues = plage.Rows(i)
      .Values = a
      .MarkerStyle = xlSquare 'à adapter
      .MarkerSize = 6 'à adapter
      .MarkerBackgroundColorIndex = plage(i, -1)
      .MarkerForegroundColorIndex = plage(i, -1)
      .Border.ColorIndex = plage(i, -1)
    End With
  Next
  .Axes(xlCategory).MinimumScale = 0
  .Axes(xlValue).MaximumScale = rc + 1
  .Axes(xlValue).HasMajorGridlines = False
  .HasAxis(xlValue, xlPrimary) = False
End With
F.[A1].Activate
End Sub
On peut donc créer autant de séries que l'on veut.

Les codes des couleurs doivent être 2 colonnes avant le tableau définissant les séries.

Fichier (2).

A+
 

Pièces jointes

Re : Graphique.

Re,

Pas de problèmes avec 204 séries :

Code:
Sub CréerGraphique()
Dim F As Worksheet, plage As Range, rc&, cc%, a, i&, j%
Set F = ActiveSheet
Set plage = F.[D2:W205] 'à adapter
rc = plage.Rows.Count
cc = plage.Columns.Count
ReDim a(1 To cc) 'tableau auxiliaire
Application.ScreenUpdating = False
F.ChartObjects.Delete 'RAZ
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.Location xlLocationAsObject, F.Name
With ActiveChart
  For i = .SeriesCollection.Count To 1 Step -1
    .SeriesCollection(i).Delete 'RAZ
  Next
  For i = 1 To rc
    For j = 1 To cc
      a(j) = rc + 1 - i
    Next
    With .SeriesCollection.NewSeries
      .XValues = plage.Rows(i)
      .Values = a
      .MarkerStyle = xlSquare 'à adapter
      .MarkerSize = 6 'à adapter
      .MarkerBackgroundColorIndex = plage(i, -1)
      .MarkerForegroundColorIndex = plage(i, -1)
      .Border.ColorIndex = plage(i, -1)
    End With
  Next
  .Axes(xlCategory).MinimumScale = 0
  .Axes(xlValue).MinimumScale = 0
  .Axes(xlValue).MaximumScale = rc + 1
  .Axes(xlValue).HasMajorGridlines = False
  .HasAxis(xlValue, xlPrimary) = False
  .Parent.Top = 0: .Parent.Left = 0 'en haut à gauche
  .Parent.Height = 25 * rc + 75 'hauteur du graphique
  .Parent.Width = 415 'largeur du graphique
End With
F.[A1].Activate 'facultatif
End Sub
Fichier (3).

A+
 

Pièces jointes

Re : Graphique.

Bonjour JJ1, le forum,

Noter qu'il y a 2 problèmes sur Excel 2010.

Code:
F.ChartObjects.Delete 'RAZ
Bug quand il n'y a pas de graphique à supprimer : facile, placer devant On Error Resume Next.

Code:
.Border.ColorIndex = plage(i, -1)
Plante Excel.

Sur Excel 2010 la coloration des séries se fait par un autre type de code, voir avec l'enregistreur de macro.

A+
 
Re : Graphique.

Re,

Voici la macro pour Excel 2010 :

Code:
Sub CréerGraphique()
Dim F As Worksheet, plage As Range, rc&, cc%, a, i&, j%
Set F = ActiveSheet
Set plage = F.[D2:W205] 'à adapter
rc = plage.Rows.Count
cc = plage.Columns.Count
ReDim a(1 To cc) 'tableau auxiliaire
Application.ScreenUpdating = False
On Error Resume Next
F.ChartObjects.Delete 'RAZ
On Error GoTo 0
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.Location xlLocationAsObject, F.Name
With ActiveChart
  For i = .SeriesCollection.Count To 1 Step -1
    .SeriesCollection(i).Delete 'RAZ
  Next
  For i = 1 To rc
    For j = 1 To cc
      a(j) = rc + 1 - i
    Next
    With .SeriesCollection.NewSeries
      .XValues = plage.Rows(i)
      .Values = a
      .MarkerStyle = xlSquare 'à adapter
      .MarkerSize = 6 'à adapter
      .MarkerBackgroundColorIndex = plage(i, -1)
      .MarkerForegroundColorIndex = plage(i, -1)
      plage(i, -1).Interior.ColorIndex = plage(i, -1) 'colore la colonne B
      .Format.Line.ForeColor.RGB = plage(i, -1).Interior.Color
    End With
  Next
  .Axes(xlCategory).MinimumScale = 0
  .Axes(xlValue).MinimumScale = 0
  .Axes(xlValue).MaximumScale = rc + 1
  .Axes(xlValue).HasMajorGridlines = False
  .HasAxis(xlValue, xlPrimary) = False
  .Parent.Top = 0: .Parent.Left = 0 'en haut à gauche
  .Parent.Height = 25 * rc + 75 'hauteur du graphique
  .Parent.Width = 415 'largeur du graphique
End With
F.[A1].Activate 'facultatif
End Sub
Elle prend du temps car elle colore les cellules en colonne B.

Fichier (4) .xlsm joint.

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Graphique
Réponses
3
Affichages
208
  • Question Question
Microsoft 365 Excel graphique
Réponses
3
Affichages
352
Réponses
0
Affichages
189
Réponses
4
Affichages
428
Réponses
6
Affichages
746
Réponses
6
Affichages
213
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…