VBA : Run a Sub automatiquement

  • Initiateur de la discussion Initiateur de la discussion trudy2
  • Date de début Date de début

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 !

T

trudy2

Guest
Bonjour à tous !

Je pense que vous n'aurez pas de soucis à résoudre mon problème, même si je n'ai rien trouvé sur le net pouvant m'aider.

J'ai créé un Sub qui définit le minimum et le maximum de l'abscisse d'un graphique en fonction de ces deux variables. Elles sont situées en "A1" et "B1". L'idée est que lorsque je change une de ces valeurs, le sub s'exécute automatiquement.

J'ai écrit ceci :

Code:
Sub MySub()

    Application.Volatile
    
    Dim MyMin As Double
    Dim MyMax As Double
    
    MyMin = Worksheets("Sheet1").Cells(1, 1)
    MyMax = Worksheets("Sheet1").Cells(1, 2)
    
    ActiveSheet.ChartObjects("Chart 3").Activate
    ActiveChart.Axes(xlCategory, xlSecondary).Select
    
    With ActiveChart.Axes(xlCategory, xlSecondary)
        .MinimumScale = MyMin
        .MaximumScale = MyMax
    End With
    
End Sub

J'avais espéré que le "Application.Volatile" aurait fonctionné, mais ce n'est pas le cas. Que dois-je faire pour que ce sub soit exécuté automatiquement (en changeant une cellule ou en appuyant F9) ?

Merci d'avance.

Trudy.
 
Re : VBA : Run a Sub automatiquement

Bonjour Trudy2,

Il faut lancer ta procédure avec du code dans ta feuille ou tu modifies ta valeur
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Or Target.Address = "$B$1" Then
    Call MySub
  End If
End Sub

"Call" n'est pas obligatoire c'est pour une meilleurs compréhension

Cordialement.
 
Re : VBA : Run a Sub automatiquement

Bonjour Bruno et merci beaucoup pour ta réponse aussi rapide !

Ca n'a hélas pas fonctionné. J'ai bien mis ton bout de code au bon endroit je pense, mais lorsque je modifie les cellules, le graphique ne change pas. En revanche, si je fais aller le Sub manuellement depuis le module2, alors le graphique se modifie.

J'insère le fichier Excel un pièce jointe, est-ce que toi ou quelqu'un d'autre peut jeter un oeil pour me dire ce que je fais faux ?

Merci d'avance !

Trudy.
 

Pièces jointes

Bonjour trudy2, BrunoM45

Tu as bien placé le code de Bruno dans le module de la feuille concerné ?
Chez moi, ça fonctionne.

Klin89

Edit : tu l'as placé dans le ThisWorkbook 😛, il faut le mettre dans Sheet1.
 
Dernière édition:
Re : Re: VBA : Run a Sub automatiquement

En mettant le code de Bruno dans "Sheet1". Excel plante lorsque je modifie les cellules A1 ou B1. Ce n'est pas le cas chez vous ?

"Microsoft Office Excel has encountered a problem and needs to close. We are sorry for the inconvenience."
 
Dernière modification par un modérateur:
Re : VBA : Run a Sub automatiquement

Bonjour BrunoM45,

Le problème vient des noms que j'ai défini dans Excel. (Insert -> Name -> Define...). En les supprimant, ton bout de code fonctionne très bien. J'essaie de trouver un moyen de contourner ce problème, car j'ai besoin de ces noms. Si tu as une idée, n'hésite pas.

En attendant, je vais créer un bouton où l'on pourra cliquer manuellement pour faire aller la macro. :-( En tout cas, mille mercis.

Trudy.
 
Dernière modification par un modérateur:
Re : VBA : Run a Sub automatiquement

Salut,

J'ai peu être trouvé une solution, car le souci vient du recalcul
1) dans ta feuille "Sheet1" tu mets ce code
Code:
Private Sub Worksheet_Calculate()
  Application.Calculation = xlCalculationManual
End Sub
2) dans ThisWorkbook, tu changes le code en mettant celui là
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Or Target.Address = "$B$1" Then
    Call MySub
  End If
  Application.Calculation = xlCalculationAutomatic
End Sub

A tester 😉

Cordialement.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
3
Affichages
2 K
demonsares
D
J
Réponses
4
Affichages
6 K
jony b good
J
N
  • Question Question
Réponses
5
Affichages
3 K
M
Réponses
6
Affichages
6 K
J
  • Question Question
Réponses
12
Affichages
1 K
J
F
Réponses
0
Affichages
2 K
F
Retour