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

XL 2010 [VBA] Barres d'erreurs horizontales personnalisées

demonsares

XLDnaute Junior
Bonjour à toutes, à tous et au forum.

J'avais dernièrement posté sur ce forum et de mes problèmes et qui a été résolu.
Me voici donc de retour avec un nouveau problème sous VBA.

1 - Contexte

J'ai une macro qui à l'aide de données dans la feuille "Données ciblées", me permet de créer un graphique nommé "Graphique 1" dans la feuille nommée "Graphique ciblé 1".
Jusqu'à ce point tout fonctionne ! C'est pour cela que dans le fichier joint il n'y a pas la macro de création du graphique mais seulement le graphique sur lequel je dois REtravailler dessus.

Mon objectif est de réaliser 3 droites horizontales couvrant, en largeur, la totalité de mes points de mesures.
Ces 3 droites se nomment : Tolérance Haute / Moyenne / Tolérance Basse.
Vous pouvez trouver leur valeur dans le tableau de droit présent dans l'onglet "Données ciblées".
Actuellement je travaille sur la première droite nommée "Tolérance Haute". En effet, si j'arrive à la réaliser via VBA, j'aurais seulement besoin de copier/coller et changer les cases pour les 2 autres droites.

Pour se faire, la macro ci-dessous, place le point correspondant à la tolérance haute.
C'est à dire pour coordonnées (66; 10030).

Code:
Sub Insertion_Point_Tolérance_Haute()

   
    Sheets("Graphique ciblé 1").Select
   
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.PlotArea.Select
   
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "='Données ciblées'!$M$2"
    ActiveChart.SeriesCollection(2).XValues = "='Données ciblées'!$E$2"
    ActiveChart.SeriesCollection(2).Values = "='Données ciblées'!$N$2"
   
End Sub

Jusque là tout va bien !
Mon graphique est créé, mon point aussi !
La difficulté que je rencontre réside dans la suite.
Pour réaliser ma barre d'erreur horizontale (X) j'utilise qu'un seul point !
Pour créer cette barre j'ai utilisé l'enregistrement VBA.
Sauf que celui-ci après exécution, me sort des erreurs et ne m'affiche même pas la barre horizontale mais verticale !
Voici mon cade via l'enregistreur VBA :

Code:
Sub Insertion_Barre_Erreur_Via_Enregistrement()


    Sheets("Graphique ciblé 1").Select
   ActiveSheet.ChartObjects("Graphique 1").Activate
   
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Select
    ActiveChart.SeriesCollection(2).HasErrorBars = True
    ActiveChart.SeriesCollection(2).ErrorBars.Select
    ActiveChart.SeriesCollection(2).ErrorBar Direction:=xlX, Include:=xlBoth, _
        Type:=xlCustom, Amount:=0
    With Selection.Format.Line
        .Visible = msoTrue
        .Weight = 1.75
    End With
    With Selection.Format.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
    End With
    ActiveChart.PlotArea.Select
    ActiveChart.SeriesCollection(2).Select
    ActiveChart.SeriesCollection(2).Trendlines.Add
    ActiveChart.SeriesCollection(2).Select
    With Selection
        .MarkerStyle = 1
        .MarkerSize = 7
    End With
    Selection.MarkerSize = 3
    ActiveChart.ChartArea.Select
   
End Sub

Ci-joint le fichier EXCEL avec mes macros, les données et le graphique !
Je vous remercie par avance de m'aider à me débloquer !
 

Pièces jointes

  • Fichier EXCEL Forum.xlsm
    76.1 KB · Affichages: 57

demonsares

XLDnaute Junior
Bonjour mutzik

Parce que je trouve que ajouter une colonne est la remplir d'une valeur sur plusieurs dizaines de milliers voir centaines de milliers de lignes ça ralentit le programme.
Une macro car j'ai besoin que cela se fasse de manière automatique
 

CB60

XLDnaute Barbatruc
Bonjour
ayant eu un MP sur ce sujet, je vous post le résultat de mon travail.
ce positionner sur la feuille "test" et cliquer sur le bouton " lance"
 

Pièces jointes

  • fichierForum2.xlsm
    88.7 KB · Affichages: 96
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…