lancement d'une macro dépendant d'1 cellule

sasjm37

XLDnaute Junior
:sick:
Bonsoir à tous

je désire qu'une macro se lance automatiquement d'après le résultat de la cellule d'une feuille...
du style : =si(a1=b1; je lance la macro ; je la lance pas)
 

Papy Octet

XLDnaute Nouveau
Salut,

Pour résoudre ton petit problème avec VBA, tu peux essayer cette procédure dans VBA. Cette procédure est à placer dans la feuille active.

Private Sub Worksheet_Change(ByVal Target As Range)
'Si la valeur dans la cellule 'Target' est plus grande que 10, je lance la macro.

If Target.Value > 10 Then
ExecuteExcel4Macro ('NomDeLaMacro')
End If
End Sub

Pour adapter la condition If à ton souhait, tu peux, par exemple faire un test sur l'adresse de ta cellule :
Si la ligne où se trouve la cellule est 12 ET la colonne où se trouve la cellule est 2, alors je fais quelque chose.
Si ça ne correspond pas à ces critères, je ne fais rien.

if Target.Row = 12 and if target.Column=2 then
...
endif

A+

Message édité par: Papy Octet, à: 28/09/2005 23:45
 

Dan

XLDnaute Barbatruc
Bonsoir,

Une solution à placer en VBA (ALT + F11)

1. dans la feuille concernée par la condition :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.address = '$A$1' then
If target.value = Range('B1').value then Macro1
End if
End Sub

2. dans un module
Code:
Sub Macro1
Instruction suivant condition réalisée au point 1
End Sub

Merci à Didier_mDF pour l'aide sur le code.

;)

Message édité par: Dan, à: 29/09/2005 00:31
 

Discussions similaires

Réponses
10
Affichages
357

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614