XL 2019 Couleurs sur un nuage de point en fonction d'une légende

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 !

Pierre111

XLDnaute Nouveau
Bonjour,

Je suis confronté à une problème sur Excel. J'ai un tableau avec 3 colonnes.
- 1 colonne avec le nom de l'attribut : il en existe 3 types (H0 ; H1 et H2)
- 1 colonne avec un coût
- 1 colonne avec une probabilité cumulée en fonction de l'attribut

Je veux représenter sous forme de nuage de points les données (comme réalisé dans le fichier Excel). Le problème c'est que chaque valeur à la même couleur. Or je voudrais que tous les points qui ont pour attribut "H0" soient en bleu par exemple. Tous les points qui ont pour attribut "H1" soient en rouge et tous les points qui ont pour attribut "H2" soient en jaune.

Existe-t-il un moyen de le faire ou faut-il obligatoirement passer par un module VBA ?

Merci à tous pour votre temps.
 

Pièces jointes

Bonjour Pierre,
Une approche simple en VBA, on sépare les trois courbes H0,H1,H2, avec :
VB:
Sub Graphique()
Application.ScreenUpdating = False
[F:K].ClearContents: [G1] = "H0": [I1] = "H1": [K1] = "H2"
DL = Cells(Cells.Rows.Count, "A").End(xlUp).Row
tablo = Range("A2:C" & DL)
ReDim T(1 To UBound(tablo), 1 To 6)
H0 = 1: H1 = 1: H2 = 1
For i = 1 To UBound(T)
    Select Case tablo(i, 1)
        Case "H0": T(H0, 1) = tablo(i, 2): T(H0, 2) = tablo(i, 3): H0 = H0 + 1
        Case "H1": T(H1, 3) = tablo(i, 2): T(H1, 4) = tablo(i, 3): H1 = H1 + 1
        Case "H2": T(H2, 5) = tablo(i, 2): T(H2, 6) = tablo(i, 3): H2 = H2 + 1
    End Select
Next i
[F2].Resize(UBound(T, 1), UBound(T, 2)) = T
[F:K].Columns.AutoFit
End Sub
On peut aussi si nécessaire trier les colonnes en ordre croissant par ex.
 

Pièces jointes

Bonjour Pierre111, sylvanu,

Pour créer les 3 séries H0 H1 H2 on peut utiliser des formules matricielles.

Formule en E3 :
Code:
=SIERREUR(INDEX($B:$B;PETITE.VALEUR(SI(Tableau13_1[Attribut]=E$1;LIGNE(Tableau13_1));LIGNE(E1)));#N/A)
Formule en F3 :
Code:
=SIERREUR(INDEX($C:$C;PETITE.VALEUR(SI(Tableau13_1[Attribut]=E$1;LIGNE(Tableau13_1));LIGNE(E1)));#N/A)
A valider par Ctrl+Maj+Entrée et copier à droite et vers le bas jusqu'à obtenir des #N/A.

A+
 

Pièces jointes

Puisque les attributs se succèdent toujours dans l'ordre H0 H1 H2 c'est beaucoup plus simple.

J'ai augmenté le nombre de colonnes du tableau structuré.

Formules (normales) en D2 et E2 :
Code:
=SI(INDEX($B:$B;3*LIGNE()-4)="";#N/A;INDEX($B:$B;3*LIGNE()-4))
=SI(INDEX($C:$C;3*LIGNE()-4)="";#N/A;INDEX($C:$C;3*LIGNE()-4))
Formules en F2 et G2 :
Code:
=SI(INDEX($B:$B;3*LIGNE()-3)="";#N/A;INDEX($B:$B;3*LIGNE()-3))
=SI(INDEX($C:$C;3*LIGNE()-3)="";#N/A;INDEX($C:$C;3*LIGNE()-3))
Formules en H2 et I2 :
Code:
=SI(INDEX($B:$B;3*LIGNE()-2)="";#N/A;INDEX($B:$B;3*LIGNE()-2))
=SI(INDEX($C:$C;3*LIGNE()-2)="";#N/A;INDEX($C:$C;3*LIGNE()-2))
Les séries sont définies par les noms H0_X H0_Y H1_X H1_Y H2_X H2_Y.

Grâce aux #N/A les cellules vides sont ignorées par le graphique.
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
3
Affichages
329
Réponses
4
Affichages
363
Retour