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

Macro automatisation graphique

heislsim

XLDnaute Junior
Bonsoir tout le monde,

Tout d'abord je tiens à remercier l'ensemble des gens oeuvrant pour ce site. J'ai appris progressivement à fair emes premiers macros grâce à vous (quel kiff quand ça marche ).
Je suis en train d'attaquer une nouvelle branche des macro, la partie concernant les graphiques (c'est un bon level la sélections de données, la suppression de certains cases ect).
J'ai tenté de voir un peu les questions déjà posé à ce sujet mais j'avoue que je suis perdu avec ces nouveaux codes.

Pour mon mémoire je suis amener à faire un quantité de "petits" graphiques.
Mes données de bases ont toujours une taille (nombre de ligne) variable mais jamais plus de 200.
Je fais mon graphique type pour qu'il prennent toutes les données jusqu'à 200, généralement si des cellules sont vides ça n'a pas d'impact sur le graphique mais là ça change mes échelles.
Du coup est ce qu'on peut automatiser la sélection des cellules pour le graphique sans toucher au reste (càd le titre du graphique, sa présentation, la présence d'une courbe de tendance etc).


Merci d'avance,

PS : n'hésitez pas à rajouter des remarques sur ce que veut dire les formules O
 

Pièces jointes

  • Question pour Forum 1.xlsx
    35.7 KB · Affichages: 51

chris

XLDnaute Barbatruc
Re : Macro automatisation graphique

Bonjour

Si tu mets ta source sous forme de tableau et bases tes graphiques sur les colonnes du tableau et non des plages, les graphiques suivront l'ajout de lignes.

(N.B. : Dans l'exemple joint, les sources semblent correspondre aux plages mais elles ont été déclarées en colonnes du tableau et suivent bien l'ajout de lignes).
 

Pièces jointes

  • GraphiqueTableau.xlsx
    36.3 KB · Affichages: 52

PMO2

XLDnaute Accro
Re : Macro automatisation graphique

Bonjour,

Une piste peut être avec
Code:
Sub aa()
Dim S As Worksheet
Dim CH As ChartObject
Dim R As Range
Dim i&
Dim A$
'---
Set S = ActiveSheet
For i& = 1 To 3
  Set CH = S.ChartObjects(i&)
  Select Case i&
    Case 1
      Set R = S.Range("$A$3:$A$" & S.[A3].End(xlDown).Row)
      A$ = "=SERIES(,'" & S.Name & "'!" & R.Address & _
         ",'" & S.Name & "'!" & R.Offset(0, 1).Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = A$
    Case 2
      Set R = S.Range("$C$3:$C$" & S.[C3].End(xlDown).Row)
      A$ = "=SERIES(,,'" & S.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = A$
    Case 3
      Set R = S.Range("$A$3:$A$" & S.[A3].End(xlDown).Row)
      A$ = "=SERIES(,,'" & S.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = A$
  End Select
Next i&
[a1].Select
End Sub
 

heislsim

XLDnaute Junior
Re : Macro automatisation graphique

Merci à vous 2 !

Chris j'ai tenté ça a plus ou moins marché, mais ce n'était pas exactement le rendu que je voulais

PMO2 merci +++ j'ai pas tout compris du code mais j'ai su modifier ce qu'il fallait pour l'adapter à tous mes graphiques ! C'est vraiment top et propre
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…