VBA Mise en forme étiquettes de données

Résolu
pzyko Messages postés 35 Statut Membre -  
pzyko Messages postés 35 Statut Membre -
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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    0
  2. pzyko Messages postés 35 Statut Membre 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 :/
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    0
  4. pzyko Messages postés 35 Statut Membre 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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pzyko Messages postés 35 Statut Membre 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
    0