Activer une macro à la sélection de la feuille (macro de mise à jour d'échelle graph)

Yoann

XLDnaute Nouveau
Bonjour,

J'ai une macro qui me permet de modifier l'échelle d'un graphique automatiquement. Mais je suis obligé de modifier une cellule (dans mon cas il s'agit de la cellule C3) pour que la macro s'active.
Je voudrai qu'elle s'active dès que je sélectionne la feuille contenant la macro.

J'ai tenté en mettant "Worksheet_Activate" mais ça ne fonctionne pas.

Mes compétences VBA sont très limitées donc je suis bloqué là.

Voici le code en question:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("C3")) Is Nothing Then

ActiveSheet.ChartObjects(1).Activate
With ActiveChart
.Axes(xlValue).MinimumScale = Range("C3").Value
.Axes(xlValue).MaximumScale = Range("B3").Value


End With
End If
End Sub

Vous remerciant d'avance.

Yoann
 
G

Guest

Guest
Re : Activer une macro à la sélection de la feuille (macro de mise à jour d'échelle g

Bonjour,

En ne mettant QUE les lignes ci-dessous dans Worksheet_Activate, cela devrait fonctionner:
Code:
Me.ChartObjects(1).Activate
With ActiveChart
.Axes(xlValue).MinimumScale = Range("C3").Value
.Axes(xlValue).MaximumScale = Range("B3").Value


End With

A+
 
Dernière modification par un modérateur:

Yoann

XLDnaute Nouveau
Re : Activer une macro à la sélection de la feuille (macro de mise à jour d'échelle g

Merci pour ta réponse rapide et efficace.
Je vais abuser un peu mais maintenant le problème c'est que si je modifie la case C3, mon échelle ne se met plus à jour, je suis obligé de sélectionner une autre feuille puis de revenir sur ma feuille avec le graph.
C'est pas possible d'avoir les deux?

Merci!
 
G

Guest

Guest
Re : Activer une macro à la sélection de la feuille (macro de mise à jour d'échelle g

Bonjour,

Code:
Vraiment personne?
Hélàs il y a une vie avant et après excel!!!!


Dans l'évènement change, si C3 est modifié tu appelles l'évènement Activate
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0,0)="C3" then Call Worksheet_Activate()
End Sub

A+
 

Discussions similaires

Réponses
1
Affichages
187
Réponses
0
Affichages
165

Membres actuellement en ligne

Statistiques des forums

Discussions
312 379
Messages
2 087 763
Membres
103 661
dernier inscrit
fcleves