Je te propose l'exemple suivant.
Tu trouveras également ci joint un fichier démo tout prêt
Code à insérer dans la feuille concernée via ALT + F11
(je pars du principe que les données déclenchant la macro sont situées dans les cellules A1, A2, E1,E2)
A chaque changement de sélection, la valeur des 4 cellules est additionnée, si le total des cellules = 4, la macro est lancée.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(1, 1) =1 + Cells(2, 1) + Cells(1, 5) + Cells(2, 5) = 4 Then LancerMacro
End Sub
Code à insérer dans un module
Code:
Sub LancerMacro()
MsgBox "Bonjour Eddy !", vbInformation, "Ta macro"
End Sub
re, En fait, il vaut mieux que tu utilises la macro et le fichier suivant.
Dans mon précédent exemple, j'étais parti sur l'idée d'un choix binaire : 0 ou 1 dans chaque cellule.
Or à la réflexion, si ce n'est pas une valeur binaire, tu pourrais avoir une cellule avec 4 et les 3 autres à 0 provoquant un déclenchement de la macro.
Donc
Code à insérer dans la feuille concernée via ALT + F11
(je pars du principe que les données déclenchant la macro sont situées dans les cellules A1, A2, E1,E2)
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(1, 1) = 1 And Cells(2, 1) = 1 And Cells(1, 5) = 1 And Cells(2, 5) = 1 Then LancerMacro
End Sub
Code à insérer dans un module
Code:
Sub LancerMacro()
MsgBox "Bonjour Eddy !", vbInformation, "Ta macro"
End Sub
J'aurais pu effacer mon premier message, mais je le maintiens pour la raison suivante :
Quand la valeur des cellules à analyser est soit 0, soit 1 (choix binaire) et qu'il y a a de nombreuses cellules à comparer, je trouve plus simple de définir la plage et d'additionner les valeurs.
Ex : 250 cellules à comparer -> si le total des choix binaires = 250 la macro se lance.