Actioner une procédure VBA

fred -  
 Utilisateur anonyme -
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
Configuration: Windows XP
Firefox 3.0.5

4 réponses

  1. Utilisateur anonyme
     
    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
  2. mikebzh Messages postés 135 Statut Membre 28
     
    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
  3. fred
     
    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
  4. Utilisateur anonyme
     
    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