Code VBA pour insérer un graphique en cascade

Bonjour,

Je viens vers vous pour savoir si vous pourriez m'aider.
En effet je souhaiterai insérer un graphique en cascade en code vba.

J'ai eu beau chercher mais je n'ai trouvé aucune solution et réponse.

Quelqu'un aurait-il un code VBA à me donner pour tester svp ?

Pour info mes données sélectionnées se trouvent en cellule A4 jusqu'en B9.

Merci pour ton réponse.
Cordialement.

Bonjour,

Un petit up svp car je suis bloqué pour automatiser l'insertion du graphique (waterfall) en automatique.

Après si ce n'est pas possible, merci de me le dire.
Cordialement

Bonjour,

Utilisez l'enregistreur de macro pour créer le graphique, récupérez le code obtenu et le modifier pour l'adapter si nécessaire.

Cdlt

Bonjour,

C'est ce que j'ai fait mais pour ce graphique en cascade (waterfall), l'enregistreur ne mets aucun code lors de l'insertion :( .

Voilà pourquoi je me suis dirigé vers des expérimentés en Excel.

Avec ma version d'excel, je n'ai pas accès à ce type de graphique, mais si vous déposez ici le fichier (sans données confidentielles), j'essaierai via un autre type de graphique de m'approcher de votre demande.

Merci pour votre aide.

Je vous poste le fichier demain matin .

Merci encore.

Bonjour

Désolé pour le retard, j'avais un souci d'internet.

Vous trouverez en pièce jointe le fichier avec des infos et le graphique souhaité.

Merci pour votre aide.

Cordialement.

Bonjour,
la procédure enregistrée.

Sub Macro1()
    Range("B5:C10").Select
    ActiveSheet.Shapes.AddChart2(395, xlWaterfall).Select
    ActiveSheet.ChartObjects("Chart 2").Activate
End Sub

Quel est le souci ?
Cdlt.

Je ne comprends pas du tout. Sur la version qui est sur mon pc, l'enregistreur de macro ne m'affiche pas la ligne :

ActiveSheet.Shapes.AddChart2(395, xlWaterfall).Select

En tout cas merci d'avoir pris le temps de répondre à mon problème.

J'aurais une autre question svp. Lorsque j'utilise l'enregistreur de macro pour ce graphique la, j'enlève l'axe vertical des valeurs à gauche mais je n'ai rien dans celui-ci.
Est ce que sur votre Excel, vous avez la même chose?

Idem pour le Titre du graphique, rien ne se passe avec l'enregistreur lorsque je le modifie.

En fait pour le titre du graphique, je souhaiterai qu'il prenne la valeur (dans mon cas un texte) d'une cellule. Est-ce possible ?

Je voudrais également supprimer la légende de la série 1 : Augmenter Diminuer Total. Est-ce possible ?

Merci pour votre aide.

Bonne journée et merci encore.

Bonjour,

Lorsque je fais des tests sur mon pc perso tout fonctionne par contre sur mon pc pro j'ai ce message d'erreur sur la ligne :

ActiveChart.SetElement (msoElementPrimaryValueAxisNone)

erreur

Pour info, voici ma version Excel si ca peut aiguiller :

version excel

Bonjour,
Essaie ainsi :

ActiveChart.SetElement (msoElementPrimaryValueAxisNone)
ActiveChart.SetElement (msoElementChartTitleNone)
ActiveChart.SetElement (msoElementLegendNone)

Bonjour,

Tout d'abord je voudrais vous remercier de prendre le temps de me répondre;

Je ne comprends toujours pas le code ne fonctionne pas, j'ai ce message d'erreur :

image

Avec ou sans cette ligne de code, c'est pareil :

ActiveSheet.ChartObjects("Chart 1").Activate

Bonjour,
Tu as certainement un problème de version Excel !?
Je ne sais plus quand est appau ce type de graphique. Et il n'y a pas beaucoup de documentation VBA.
Cdlt.

Option Explicit

Public Sub CreateChart()
Dim ws As Worksheet, shp As Shape, objChart As ChartObject
Dim rngData As Range

    Application.ScreenUpdating = False

    Set ws = Worksheets("Feuil1")

    On Error Resume Next
    ws.ChartObjects("Chart_1").Delete
    On Error GoTo 0

    ws.Range("B5:C10").Select
    Set shp = ws.Shapes.AddChart2(395, xlWaterfall)
    Set objChart = ws.ChartObjects(shp.Name)
    objChart.Name = "Chart_1"

    With shp
        .IncrementLeft -343
        .IncrementTop -134
    End With

    With objChart.Chart
        .SetElement (msoElementPrimaryValueAxisNone)
        .SetElement (msoElementChartTitleNone)
        .SetElement (msoElementLegendNone)
    End With

End Sub

Je vous remercie encore pour votre aide mais je crois que c'est bien ma version d'Excell qui me pose problème.
Même en utilisant votre fichier, j'ai le même code d'erreur.

Tant pis je pense qu'il n'y a aucune solution hormis de changer de version d'Excell (mais ce n'est pas possible).

Merci pour votre aide.

Rechercher des sujets similaires à "code vba inserer graphique cascade"