Lancer une macro a partir d'une valeur

RIYANEMADRID Messages postés 29 Statut Membre -  
Gord21 Messages postés 928 Statut Membre -
bonjour,

je suis sur excel 2003
et je voudrais lancer des macros que j'ai enregister moi meme a partir de la valeur d'une cellule

par exemple :

ma cellule c'est la h50 et elle a comme fonction =si("cellule Z=cellule Y";1;0)
et moi je voudrais pouvoir lancer ma "macro1" si la cellule h50= 1 sinon lancer une autre "macro2" si la cellule h50=2

comment faire svp, j'en ai vraiment besoin
merci d'avance

2 réponses

Gord21 Messages postés 928 Statut Membre 289
 
Bonsoir,
Une remarque pour commencer : H50 ne vaudra jamais 2, ce sera soit 0 soit 1.
Sinon, à quel moment sera lancée ta macro ? Au moment où tu modifies une cellule donnée ? Tu lances une macro qui vérifie la valeur de H50 et qui lance macro1 ou macro2 ?
1
RIYANEMADRID Messages postés 29 Statut Membre
 
oui c'est sure je voulai dire h50=0,
et pour repondre a ta question : en gros moi jai beaucoup de marco, 22 pour etre exacte
et je modifie qu'une seule cellule la h50, donc je voudrais que des que j'ecris quelque chose dans la h50 par exemple "HALO" ben jai un tableau remplie de fonction SI qui verifie "halo" correspond a quelle ligne du tableau et me lance la macro attaché a cet ligne, Halo1 par exemple
donc la macro que je cherche dois chercher dans ce tableau la ligne dont la valeur devient 1 apres ma saisie dans la cellule h50 et lancer la macro correspondante a cet ligne
merci de ton aide
0
Gord21 Messages postés 928 Statut Membre 289
 
Bonjour,
Je n'ai pas tout compris mais pour détecter la modification de ta cellule H50, tu peux utiliser ce code, à mettre dans la page de code de la feuille concernée :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$50" Then
' Ton code (si HALO ...)
End If
End Sub

@+
1
RIYANEMADRID Messages postés 29 Statut Membre
 
je veux enfaite c'est lancer les macro a partir d'une valeur d'une cellule
par exemple: ma cellule h40 contiens =si(h50=halo;1;0)
moi je tape halo dans la cellule h50 et donc la cellule h40 me donnera 1 en resulat,
ma macro doit se lancer automatiquement des que h40 donne 1 sans que je selectionne la celulle ou que je fasse quelque chose, en gros la valeur 1 est le declencheur de la macro1
merci a toi pour ton aide
0
Gord21 Messages postés 928 Statut Membre 289
 
Bonjour,
Ce que je t'avais mis devrait te convenir :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$50" Then
   If Range("H40").Value = 1 Then
      macro1
   End If
End If
End Sub

@+
0