VBA Mise en forme étiquettes de données [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
-
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
-
Bonjour,

Novice en VBA, j'ai créé un graphique et j'y ai ajouté des étiquettes de données. J'aimerai pouvoir créer une macro qui me mette en gras uniquement les étiquettes de données commençant par le symbole {.
Je ne vois pas du tout comment faire et vous remercie par avance de votre aide.

5 réponses

Messages postés
9788
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 mai 2021
2 111
Bonjour

un exemple (à toi de modifier la valeur de premcar)

Option Explicit

Const premcar = "m"  ' premier caractere pour etiquette en gras

Public Sub etiqgras()
Dim gr As Object, nbpts As Long, nupt As Long
Set gr = ActiveSheet.ChartObjects(1).Chart
nbpts = gr.SeriesCollection(1).Points.Count
With gr.SeriesCollection(1)
  For nupt = 1 To nbpts
    If Left(.Points(nupt).DataLabel.Characters.Text, 1) = premcar Then
      .Points(nupt).DataLabel.Font.FontStyle = "Gras"
    Else
      .Points(nupt).DataLabel.Font.FontStyle = "Normal"
    End If
  Next nupt
End With
End Sub

Cdlmnt
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
1
Je te remercie de ta réponse mais je ne comprend absolument pas comment appliquer ce code à mes étiquettes de données ni comment cela me permettra de les mettre en gras :/
Messages postés
9788
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 mai 2021
2 111
Le fichier
https://www.cjoint.com/?3FEqVUol6v8

si tu as du mal a adapter, mets le tien sur cjoint.com au format excel 2003 et joins le lien obtenu à ton prochain message
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
1
Je n'ai pas réussi à adapter cette macro.
Voici mon fichier : https://www.cjoint.com/?0GdjzXKtpPo
Dans les options d'étiquettes de données, j'ai coché valeur, pourcentage, nom de catégorie et afficher les lignes d'étiquettes.
Finalement, ce que j'aimerai c'est que toute l'étiquette apparaisse en gras si le nom de catégorie commence par "{".
Merci
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
1
Sub etiq_gras()

Const premcar = "{"


Dim nbpts As Long, nupt As Long


Sheets("Cibles par campagne").Select
ActiveSheet.ChartObjects("Répartition des cibles par campagne").Activate

nbpts = ActiveChart.SeriesCollection(1).Points.Count

For nupt = 1 To nbpts
If Left(ActiveChart.SeriesCollection(1).Points(nupt).DataLabel.Characters.Text, 1) = premcar Then
ActiveChart.SeriesCollection(1).Points(nupt).DataLabel.Format.TextFrame2.TextRange.Font.Bold = msoTrue
Else
ActiveChart.SeriesCollection(1).Points(nupt).DataLabel.Format.TextFrame2.TextRange.Font.Bold = msoFalse
End If
Next nupt

end sub