Bonjour les experts,
Une question simple, est il possible qu'une macro puisse se lancer à partir d'une fonction Si, comme par exemple si(test;solution1;Solution2=lancement d'une macro) ?
Merci pour vos réponses éclairées,
Bonne journée.
Didier
la solution serait de passer par l'évènement _change de la feuille
si le résultat de la formule de la cellule concernée est celui attendu, tu executes la macro
Hello,
une autre solution consisterait à faire une fonction personnalisée en VBA dont le début correspond à ce qu'il y a dans la formule si. On peut mettre dans la branche adéquate du test le code VBA de la macro qui doit être lancée dans le cas si Faux.
Ami calmant, J.P
Le problème c'est que cette macro, qui devrait être une Function, risquerait de ne pas être habilitée à faire grand chose pendant la phase d'évaluation de la formule, à part renvoyer une valeur. Mais il y a toujours des contournement possibles généralement via une Sub Worksheet_Caculate, laquelle s'exécute juste après les calculs.
Une Fonction perso peut donc initialiser une variable globale, que la Sub Worksheet_Calculate peut ensuite contrôler pour décider de lancer une macro …