Macro : Zoom sur un graphique (changement d'échelle) [RESOLU]
[RESOLU]
Bonjour tout le monde,
J'ai créé une macro pour faire un zoom sur un graphique via un changement d'échelle. (voir code plus bas)
Avant de pouvoir faire ce zoom, il faut séléctionner un graphique.
La macro marche parfaitement quand je l'exécute par la barre d'outil.
Mais j'aimerais pouvoir la lancer en cliquant sur un bouton ; le problème, c'est que lorsque je clique sur ce bouton, mon code plante.
Merci de votre aide. 🙂
Le code : (j'ai mis en rouge la ligne qui fait planter)
	
	
	
	
	
		
Par ailleurs, ça n'a rien à voir, mais que signifie le "xl" dans Axes(xlValue) et Axes(xlCategory) ?
Merci.
	
		
			
		
		
	
				
			[RESOLU]
Bonjour tout le monde,
J'ai créé une macro pour faire un zoom sur un graphique via un changement d'échelle. (voir code plus bas)
Avant de pouvoir faire ce zoom, il faut séléctionner un graphique.
La macro marche parfaitement quand je l'exécute par la barre d'outil.
Mais j'aimerais pouvoir la lancer en cliquant sur un bouton ; le problème, c'est que lorsque je clique sur ce bouton, mon code plante.
Merci de votre aide. 🙂
Le code : (j'ai mis en rouge la ligne qui fait planter)
		Code:
	
	
	Function GraphPresent() As Boolean
[COLOR="SeaGreen"]'On test la présence d'un graphe dans ActiveChart[/COLOR]
    If ActiveChart Is Nothing Then
        GraphPresent = False
        MsgBox "Veuillez séléctionner un graphique."
    Else
       GraphPresent = True
    End If
End Function
Sub ZoomPlus()
    
If Not GraphPresent Then Exit Sub [COLOR="SeaGreen"]'On lance la macro seulement si un graphe est séléctionné[/COLOR]    
Dim Min As Long
Dim Max As Long
Dim Range As Long [COLOR="SeaGreen"]'Range sera égal à Max-Min[/COLOR]
    [COLOR="SeaGreen"]'Zoom sur les abscisses[/COLOR]
    [COLOR="Red"]ActiveChart.Axes(xlCategory).Select[/COLOR]
    With ActiveChart.Axes(xlCategory)
        Min = .MinimumScale
        Max = .MaximumScale
        Range = Max - Min
      [COLOR="SeaGreen"]'on change l'échelle pour qu'elle corresponde à un zoom x2 des aires[/COLOR]
        .MinimumScale = Min + Range * 0.15
        .MaximumScale = Max - Range * 0.15
     End With
        
    [COLOR="SeaGreen"]'Zoom sur les ordonnées (idem que pour les abscisses)[/COLOR]
    ActiveChart.Axes(xlValue).Select
    With ActiveChart.Axes(xlValue)
        Min = .MinimumScale
        Max = .MaximumScale
        Range = Max - Min
      [COLOR="SeaGreen"]'on change l'échelle[/COLOR]
        .MinimumScale = Min + Range * 0.15
        .MaximumScale = Max - Range * 0.15
    End With
End Sub
	Par ailleurs, ça n'a rien à voir, mais que signifie le "xl" dans Axes(xlValue) et Axes(xlCategory) ?
Merci.
			
				Dernière édition: