Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro Ajout de titre sur graphique

  • Initiateur de la discussion Initiateur de la discussion alexane
  • 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 !

alexane

XLDnaute Occasionnel
Bonjour à tous
J'ai une macro qui me permet à travers une inputbox de définir un titre à tous les graphiques de la feuille active
Code:
Dim Rep As String
For Each mon_graphique In ActiveSheet.ChartObjects
    cpt = cpt + 1
    Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
    If Rep = "Faux" Then Exit Sub
    mon_graphique.Select
     If ActiveChart.HasTitle = False Then ActiveChart.HasTitle = True
    ActiveChart.ChartTitle.Characters.Text = Rep
Next mon_graphique
Ensuite j'ai voulu généraliser la macro à tout le classeur pour qu'elle s'effectue sur les graphiques présent sur des feuilles graphique et là ça marche pas
Code:
For Each ma_feuille In Sheets
    ma_feuille.Select
    For Each mon_graphique In ActiveSheet.ChartObjects
        cpt = cpt + 1
        Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
        If Rep = "Faux" Then Exit Sub
        mon_graphique.Select
        If ActiveChart.HasTitle = False Then ActiveChart.HasTitle = True
        ActiveChart.ChartTitle.Characters.Text = Rep
    Next mon_graphique
Next ma_feuille
qqn peut m'aider ?
Ci joint fichier d'essai
 

Pièces jointes

Re : macro Ajout de titre sur graphique

Bonjour,

regarde le code ci-dessous

J'ai modifié la ligne :

Code:
For Each ma_feuille In Sheets

et mis "WorkSheets", ainsi tu ne testes que les onglets, et non pas les feuilles graphiques...

Code:
Sub TitreClasseur()
'Procédure à appliquer à tous les graphiques d'un classeur excel
For Each ma_feuille In Worksheets
'    ma_feuille.Select
    For Each mon_graphique In ma_feuille.ChartObjects
        cpt = cpt + 1
        Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
        If Rep = "Faux" Then Exit Sub
        With mon_graphique.Chart
            'si le graphique n'a pas de titre, on plus en insere un, sinon simple modification de l'existant (sous entendu)
            If .HasTitle = False Then .HasTitle = True
            'Affectation au titre de la valeur saisie dans l'inputbox
            .ChartTitle.Characters.Text = Rep
        End With
    Next mon_graphique
Next ma_feuille
End Sub

Bonne journée
 
Re : macro Ajout de titre sur graphique

Bonjour Alexane,

Tout d'abord ton bouton n'était pas associer à la bonne macro!🙂

Ensuite une feuille Graphique retourne un objet Chart et non pas WorkSheet et donc se traite différement.

voici ta macro modifiée:

Code:
Sub TitreClasseur()
'Procédure à appliquer à tous les graphiques d'un classeur excel
    For Each ma_Feuille In Sheets
        ma_Feuille.Select
        If TypeName(ma_Feuille) = "Worksheet" Then
            For Each mon_graphique In ActiveSheet.ChartObjects
                cpt = cpt + 1
                Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
                If Rep = "Faux" Then Exit Sub
                mon_graphique.Select
                'si le graphique n'a pas de titre, on plus en insere un, sinon simple modification de l'existant (sous entendu)
                If ActiveChart.HasTitle = False Then ActiveChart.HasTitle = True
                'Affectation au titre de la valeur saisie dans l'inputbox
                ActiveChart.ChartTitle.Characters.Text = Rep
            Next mon_graphique
        ElseIf TypeName(ma_Feuille) = "Chart" Then
            Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
            If Rep = "Faux" Then Exit Sub
            With ActiveChart
                .HasTitle = True
                .ChartTitle.Characters.Text = Rep
            End With
        End If
    Next ma_Feuille
End Sub

A+
 
Re : macro Ajout de titre sur graphique

Re-,

en reprenant, et adaptant le code d'Hasco (Salut Ges 🙂🙂)

Code:
Sub TitreClasseur()
'Procédure à appliquer à tous les graphiques d'un classeur excel
    For Each ma_feuille In Sheets
        If TypeName(ma_feuille) = "Worksheet" Then
            For Each mon_graphique In ActiveSheet.ChartObjects
                cpt = cpt + 1
                Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
                If Rep = "Faux" Then Exit Sub
                With mon_graphique.Chart
                'si le graphique n'a pas de titre, on plus en insere un, sinon simple modification de l'existant (sous entendu)
                    If .HasTitle = False Then .HasTitle = True
                'Affectation au titre de la valeur saisie dans l'inputbox
                    .ChartTitle.Characters.Text = Rep
                End With
            Next mon_graphique
        ElseIf TypeName(ma_feuille) = "Chart" Then
            Rep = Application.InputBox(Prompt:="Saisir un titre pour le graphique " & cpt, Type:=2)
            If Rep = "Faux" Then Exit Sub
            With ma_feuille
                .HasTitle = True
                .ChartTitle.Characters.Text = Rep
            End With
        End If
    Next ma_feuille
End Sub
 
Re : macro Ajout de titre sur graphique

Re,

As - tu vérifier la macro que tu lances par le bouton "Choisir le titre de tous les graphiques du classeur" Dans l'exemple que tu nous a donnée, c'était pas la bonne macro.

A+ je joins le fichier que j'ai fait et qui fonctionne chez moi.
 
Re : macro Ajout de titre sur graphique

Merci à tous pour vos réponses
Désolée pour le bouton, j'avais testé dans vbe en mode pas à pas, pas directement avec le bouton
Hasco, ton code marche sans problème c'est juste que ma réponse a chevauché la tienne et s'adressait à Bhbh. Merci pour tes explications également.
A bientot
 
- 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
4
Affichages
729
Réponses
7
Affichages
450
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…