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

Lancer automatiquement une macro

  • Initiateur de la discussion Initiateur de la discussion Jojoe
  • 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 !

Jojoe

XLDnaute Nouveau
Bonjour à tous !

Je recherche depuis plusieurs jours le moyen de lancer automatiquement une macro en fonction du résultat d'une cellule.

Si "Faible" apparaît dans ma cellule, alors je lance ma macro1 sinon je lance ma macro2.

Qualqu'un a-t-il une astuce à me donner. Attention, je maîtrise mal le VBA.

Merci à tous, maintenant je file me présenter ! 🙂
 
Re : Lancer automatiquement une macro

Merci de t'intéresser à mon piti souci ! 🙂

La macro doit se lancer à la suite d'une condition si. Si le résultat de ma cellule est égal à "Faible", alors je lance la macro1 sinon je lance la macro2.

Suis-je plus clair ? 😀
 
Re : Lancer automatiquement une macro

Bonsoir

Il faut utiliser une macro évènementielle
Ci dessous une macro trouvée sur le site

Code:
Private Sub Worksheet_Calculate()
Dim VAL
VAL = Sheets("Feuil1").Range("C4").Value

If VAL = 1 Then
Application.Run macro:="RESULTAT1"

ElseIf VAL = 2 Then
Application.Run macro:="RESULTAT2"
End If

End Sub

Attention une macro sera lancé chaque fois qu'il y aura un nouveau calcul.

JP
 
Re : Lancer automatiquement une macro

Je remonte mon message parce que je voudrais ajouter après l'éxécution de la première macro, l'éxécution d'une seconde macro en fonction de la valeur d'une nouvelle cellule.

Donc je veux faire ça :

Private Sub Worksheet_Calculate()
Dim VAL1
VAL1 = Sheets("Feuil1").Range("C4").Value

If VAL1 = 1 Then
Application.Run macro:="RESULTAT1"

ElseIf VAL1 = 2 Then
Application.Run macro:="RESULTAT2"
End If

Puis ça :

Dim VAL2
VAL2 = Sheets("Feuil1").Range("Z4").Value

If VAL2 = 1 Then
Application.Run macro:="RESULTAT3"

ElseIf VAL2 = 2 Then
Application.Run macro:="RESULTAT4"
End If

End Sub

Le souci c'est que je ne sais pas comment écrire dans VBE le code qui permette de faire ces 2 opérations à la suite.

Quelqu'un a-t-il une idée ?

Merci d'avance de vos réponses ! 🙂
 
Re : Lancer automatiquement une macro

bonjour

Private Sub Worksheet_Calculate()
Dim VAL1, VAL2

VAL1 = Sheets("Feuil1").Range("C4").Value
VAL2 = Sheets("Feuil1").Range("Z4").Value

If VAL1 = 1 Then
Application.Run macro:="RESULTAT1"
ElseIf VAL1 = 2 Then
Application.Run macro:="RESULTAT2"
End If

If VAL2 = 1 Then
Application.Run macro:="RESULTAT3"
ElseIf VAL2 = 2 Then
Application.Run macro:="RESULTAT4"
End If

End Sub
 
Re : Lancer automatiquement une macro


Merci ! Je teste cela de suite ! 😉

Edit : C'est ok ! Me voilà paré grace à tous vos conseils ! 🙂
 
Dernière édition:
- 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

Réponses
5
Affichages
130
  • Question Question
Microsoft 365 Aide Excel formule
Réponses
4
Affichages
374
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…