Actioner une procédure VBA

Fermé
fred - 4 févr. 2009 à 13:32
 Utilisateur anonyme - 5 févr. 2009 à 13:35
Bonjour,
je voudrais simplement actionner une procédure automatiquement lorsque l'opérateur change la valeur de la cellule A1
début:
sub worksheet_change ()
if cells(1,1) est changé then lancer la macro
end if
end sub

merci

4 réponses

Utilisateur anonyme
4 févr. 2009 à 13:51
Bonjour,

Exemple type :

A placer derrière la feuille !

Option Explicit
'

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range, Intersection As Range
    
    Set Plage = Range("A1")
    Set Intersection = Application.Intersect(Target, Plage)
    
    If Not (Intersection Is Nothing) Then
        Call MaMacro
        Call MaFonction
    End If
    
End Sub
'

Private Sub MaMacro()
    MsgBox "Macro"
End Sub
'

Private Function MaFonction()
    MsgBox "Fonction"
End Function
'

Lupin
0
mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
4 févr. 2009 à 13:52
Coucou
Tu avais presque tout

[code]
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Cells(1, 1) Then
MsgBox ("valeur A1 modifié")
End If
End Sub
[\code]

Tu n'as plus qu'à remplacer la msgbox par ta macro
A plus
0
merci au top les gars!
juste une aute question
en A1 j'ai bonjour
en A2 j'ai rien
B1=A1 donc B1 renvoi bopnjour
B2=A2 donc B2 renvoie 0

comment je peux faire pour que cela efface automatiquement le zéro si la case B1 est vide?
0
Utilisateur anonyme
5 févr. 2009 à 13:35
Bonjour,

En B1 comme en B2, placer cette formule :

[B1].Value =SI((A1 <> "");SI(A1 <> 0;A1;"");" ")
[B2].Value =SI((A2 <> "");SI(A2 <> 0;A2;"");" ")

Lupin
0