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

Pointer une ligne relative dans une macro

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 !

PièceJointe

XLDnaute Nouveau
Pointer les lignes "sous-totaux" dans une macro

Bonjour à tous...

de retour parmi vous, je crois que je suis en train de devenir addict...

Voilà je n'ai pas trouvé en parcourant vos forums comment, dans une macro, pointer une plage relative (est-ce seulement le nom ? Dans mon exemple il s'agit de sous totaux...)

Voici mon code :
Code:
Sub GRAPH()
    Charts.Add
    ActiveChart.ChartType = xl3DColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Général").Range("H166:L166"), _
        PlotBy:=xlColumns
    ActiveChart.SeriesCollection(1).Name = "=Général!R5C8"
    ActiveChart.SeriesCollection(2).Name = "=Général!R5C9"
    ActiveChart.SeriesCollection(3).Name = "=Général!R5C10"
    ActiveChart.SeriesCollection(4).Name = "=Général!R5C11"
    ActiveChart.SeriesCollection(5).Name = "=Général!R5C12"
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graphiques"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Répartion de l'offre de formation par domaines"
        .Axes(xlCategory).HasTitle = True
        .Axes(xlCategory).AxisTitle.Characters.Text = "Domaine"
        .Axes(xlSeries).HasTitle = False
        .Axes(xlValue).HasTitle = True
        .Axes(xlValue).AxisTitle.Characters.Text = "Nombre"
    End With
End Sub

Comment faire en sorte que "Range("H166:L166")" prenne une valeur relative ? En gros sil des données sont insérées ma ligne de réfernce n'est plus la 166...

Et y a t'il moyen de faire en sorte qu'il me sorte un graph pour tous mes sous totaux et pas seulement ceux de la ligne 166 colonnes H à F ?


Merci d'avance pour vos conseils.
 
Dernière édition:
Re : Pointer une ligne relative dans une macro

Re

Dans la feuille Général en colonne A et sur les lignes (sous-total ), il y a bien les noms des Etablissements (et tous differents) ,sauf pour le total general ou la cellule est vide ?
Y a-t-il un graph au moins ?
 
Re : Pointer une ligne relative dans une macro

Alors oui il y a un graph qui sort... mais un seul... et les noms d'établissement ne sont en colonne A que dans l'exemple "allégé" donné au départ... je joins la grille complète si ça a de l'importance... l'établissement est en F.
 

Pièces jointes

Re : Pointer une ligne relative dans une macro

Re

Dans ce cas:

Code:
Sub GRAPH()
'
' GRAPH Macro
' Macro enregistrée le 14/10/2008 par utiliseur
num = 1
For n = 1 To Range("C65536").End(xlUp).Row
 If InStr(Sheets("Général").Range("C" & n).FormulaLocal, "SOUS.TOTAL") <> 0 Then
ligne = n
    Charts.Add
    ActiveChart.ChartType = xl3DColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("Général").Range("H" & ligne & ":L" & ligne), PlotBy:=xlColumns
 [COLOR=blue]If Sheets("Général").Range("F" & n) = "" Then[/COLOR]
[COLOR=blue]   nom = "Total General"[/COLOR]
[COLOR=blue]Else[/COLOR]
[COLOR=blue]   nom = Sheets("Général").Range("F" & n)[/COLOR]
[COLOR=blue]End If[/COLOR]
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=[COLOR=blue]nom[/COLOR]
num = num + 1
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Répartion de l'offre de formation par domaines"
        .Axes(xlCategory).HasTitle = True
        .Axes(xlCategory).AxisTitle.Characters.Text = "Domaine"
        .Axes(xlSeries).HasTitle = False
        .Axes(xlValue).HasTitle = True
        .Axes(xlValue).AxisTitle.Characters.Text = "Nombre"
    End With
 End If
 
Next n
End Sub

Note: Si cela ne convient pas
ajoute quelques lignes (sans données confidentielles)
il est tout de même plus pratique de tester sur fichier !!
 
Dernière édition:
Re : Pointer une ligne relative dans une macro

Merci bcp...ça marche presque !

Quelques onglets sont bien nommés mais pas tous...j'étudie ça et reviens ici pour faire part de mes découvertes et je mettrai des données s'il le faut, ce sera plus clair...
 
Re : Pointer une ligne relative dans une macro

Re

Chez moi ceci fonctionne
J'ais modifié pour ne pas avoir de Graphique relatif a la ligne 7
Code:
For n = 8 To Sheets("Général").Range("C65536").End(xlUp).Row

Veiller a ne pas laisser la colonne F vide en face des Sous-totaux en colonne C et avoir une denomination differente a chaque fois
 

Pièces jointes

- 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

F
  • Question Question
Réponses
1
Affichages
932
K
Réponses
1
Affichages
885
W
S
Réponses
2
Affichages
755
sébastien
S
F
Réponses
0
Affichages
1 K
F
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…