Lancer automatiquement une macro

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 ! :)
 

Jojoe

XLDnaute Nouveau
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 ? :D
 

jp14

XLDnaute Barbatruc
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
 

Jojoe

XLDnaute Nouveau
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 ! :)
 

mutzik

XLDnaute Barbatruc
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
 

Jojoe

XLDnaute Nouveau
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

Merci ! Je teste cela de suite ! ;)

Edit : C'est ok ! Me voilà paré grace à tous vos conseils ! :)
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88