Modifier l'échelle d'un graph avec une macro ?

MrBMCi

XLDnaute Nouveau
Bonsoir a tous ,
J'aimerais pouvoir modifier les valeur minimum et maximum de l'axe des abscisses de mon graph via une macro
L'idéal serait de pouvoir leur attribué une valeur de cellule a chacun :)

Quelqu'un a une idée ?

Merci :)
 
Dernière édition:

Hippolite

XLDnaute Accro
Re : Modifier l'échelle d'un graph avec une macro ?

Bonsoir,
Tu peux utiliser l'enregistreur de macro pour avoir une idée du code.
Tu délenches le code à la modification des cellules avec
VB:
Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Range("A1:A2"), Target) is Nothing Then 'si modif de A1:A2 ...
		
		'code  
	
	End If
End Sub
A+
 

CB60

XLDnaute Barbatruc
Bonsoir
Il suffit de remplacer
ActiveSheet.ChartObjects(1).Activate
par
ActiveSheet.ChartObjects(2).Activate
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Not Application.Intersect(Target, Range("b12:b15,c7:e7")) Is Nothing Then
    ActiveSheet.ChartObjects(1).Activate
    With ActiveChart
        .Axes(xlValue).MinimumScale = Range("B12").Value
        .Axes(xlValue).MaximumScale = Range("B13").Value
        .Axes(xlCategory).MinimumScale = Range("B14").Value
        .Axes(xlCategory).MaximumScale = Range("B15").Value
    End With
End If
End Sub
 

manuZ51

XLDnaute Nouveau
Bonsoir
Il suffit de remplacer
ActiveSheet.ChartObjects(1).Activate
par
ActiveSheet.ChartObjects(2).Activate
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Not Application.Intersect(Target, Range("b12:b15,c7:e7")) Is Nothing Then
    ActiveSheet.ChartObjects(1).Activate
    With ActiveChart
        .Axes(xlValue).MinimumScale = Range("B12").Value
        .Axes(xlValue).MaximumScale = Range("B13").Value
        .Axes(xlCategory).MinimumScale = Range("B14").Value
        .Axes(xlCategory).MaximumScale = Range("B15").Value
    End With
End If
End Sub
 

manuZ51

XLDnaute Nouveau
Merci beaucoup pour ta réponse rapide. j’avais essayé de faire un peu la même chose en récupérant le nom via le clic droit affecter macro mais sans succès merci beaucoup.
Question concernant if Not Application.Intersect(Target, Range("b12:b15,c7:e7")) Is Nothing Then, que represente ou le c7:e7 pour cette macro car dans ces cellules je n’ai rien et cela marche bien.
 

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla