XL 2019 Mettre en gras éléments du graphique avec macro

Nasseuz

XLDnaute Nouveau
Bonjour à tous,

J'aimerais mettre en gras certains éléments de l'axe verticale de mon graphique mais sans succès pour le moment.

J'ai essayé le code suivant mais il ne reconnaît pas le titre de mon graphique :

Sub MettreEnGrasAxesHorizontalGraphique()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim series As series
Dim i As Integer



' Spécifiez le nom du graphique (à remplacer par le nom de votre graphique)
Set chartObj = ws.ChartObjects("TEST")

' Parcours de chaque série dans le graphique
For Each series In chartObj.Chart.SeriesCollection
' Vérifier si la série correspond à l'axe horizontal
If series.AxisGroup = xlCategory Then
' Étiquettes à mettre en gras
Dim labelsToBold As Variant
labelsToBold = Array("En emploi", "En formation", "En thèse", "En volontariat", "En recherche d'emploi", "Autre situation")

' Parcourir les points de données de la série
For i = LBound(labelsToBold) To UBound(labelsToBold)
For j = 1 To series.Points.Count
If series.Points(j).DataLabel.Text = labelsToBold(i) Then
series.Points(j).DataLabel.Font.Bold = True
Exit For
End If
Next j
Next i
End If
Next series
End Sub

Serez-t-il possible de m'apporter votre aide svp ?

Et si possible, j'aimerais le faire sans passer par le titre du graphique car je préfère ne pas mettre de titre.

Re-bonjour,

Update : J'aimerais aussi pouvoir mettre l'orientation du texte des situation professionnelle à l'horizontal si possible sur le graphique ci-joint car je pense qu'il convient mieux qu'un histogramme pour ce type de données.



Merci à tous pour votre attention.

Bien cordialement.

Nacim
 

Pièces jointes

  • TEST.xlsm
    15.1 KB · Affichages: 5
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nasseuz,
Un peu en retard ... :(
En PJ un essai avec mise en gras, italique, en couleurs des deux axes. Avec :
VB:
Sub DémoCouleur()
    ActiveSheet.ChartObjects("Graphique 3").Activate
    ActiveChart.Axes(xlCategory).TickLabels.Font.Bold = True    ' axe Y en gras
    ActiveChart.Axes(xlCategory).TickLabels.Font.Color = vbRed  ' couleur rouge
    ActiveChart.Axes(xlValue).TickLabels.Font.Bold = True       ' axe X en gras
    ActiveChart.Axes(xlValue).TickLabels.Font.Italic = True     ' en italique
    ActiveChart.Axes(xlValue).TickLabels.Font.Color = vbBlue    ' couleur bleue
    [A1].Select
End Sub
j'aimerais le faire sans passer par le titre du graphique
Qu'entendez vous par là ?
On est obligé de passer par le nom du graphique ( et non son titre ), de toute façon un objet à toujours un nom sous XL.

Par contre pour ce point je n'ai pas trouvé :
J'aimerais aussi pouvoir mettre l'orientation du texte des situation professionnelle à l'horizontal
 

Pièces jointes

  • TEST (1).xlsm
    21.2 KB · Affichages: 6

Nasseuz

XLDnaute Nouveau
Bonjour Nasseuz,
Un peu en retard ... :(
En PJ un essai avec mise en gras, italique, en couleurs des deux axes. Avec :
VB:
Sub DémoCouleur()
    ActiveSheet.ChartObjects("Graphique 3").Activate
    ActiveChart.Axes(xlCategory).TickLabels.Font.Bold = True    ' axe Y en gras
    ActiveChart.Axes(xlCategory).TickLabels.Font.Color = vbRed  ' couleur rouge
    ActiveChart.Axes(xlValue).TickLabels.Font.Bold = True       ' axe X en gras
    ActiveChart.Axes(xlValue).TickLabels.Font.Italic = True     ' en italique
    ActiveChart.Axes(xlValue).TickLabels.Font.Color = vbBlue    ' couleur bleue
    [A1].Select
End Sub

Qu'entendez vous par là ?
On est obligé de passer par le nom du graphique ( et non son titre ), de toute façon un objet à toujours un nom sous XL.

Par contre pour ce point je n'ai pas trouvé :
Bonjour Sylvanu,

Merci beaucoup pour votre réponse, ça fonctionne très bien. Après je voulais uniquement changer la ligne qui correspond aux situations professionnelles alors que le code met l'ensemble de l'axe Y en gras. Je pense que c'est là que réside toute la difficulté de la chose :(

Et oui, excusez-moi j'ai confondu titre et nom du graphique. Je pensais que le code demandais le titre du graphique...

Bien cordialement.

Nacim
 
Dernière édition:

Nasseuz

XLDnaute Nouveau
Bonjour Sylvanu,

Merci beaucoup pour votre réponse, ça fonctionne très bien. Après je voulais uniquement changer la ligne qui correspond aux situations professionnelles alors que le code met l'ensemble de l'axe Y en gras. Je pense que c'est là que réside toute la difficulté de la chose :(

Et oui, excusez-moi j'ai confondu titre et nom du graphique. Je pensais que le code demandais le titre du graphique...

Bien cordialement.

Nacim
Bonjour,

Je ne sais pas dissocier les deux. Sorry.
Bonjour,

Pas de problème, j'ai de toute façon pu bidouiller la chose en insérant des zones de texte dans la graphique. Je voulais juste savoir si il y avait moyen de le faire avec la programmation.

Merci encore pour votre aide.

Bien à vous.

Nacim
 

Discussions similaires

Réponses
1
Affichages
165
Réponses
0
Affichages
149
Réponses
5
Affichages
182

Statistiques des forums

Discussions
312 206
Messages
2 086 227
Membres
103 159
dernier inscrit
FBallea