VBA Excel... sub Worksheet_change

Résolu
Bonjour,
dans Excel, j'aimerais écrire une macro si et seulement si une cellule bien définie change.
pb : je ne connais que la procédure 'Private Sub Worksheet_Change(ByVal Target As range)' et celle-ci se lance quelle que soit la cellule de l'onglet qui est changée.

qqn connaît-il une procédure qui me permettre d'écrire un truc du genre :
'Private Sub range("A1")_Change(ByVal Target As range)' ???

merci beaucoup

4 réponses

  1. Contributeur
    Salut le forum

    Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then 
    MsgBox "Click on " & Target.Address 
    End If 
    End Sub

    Un petit lien utile : Utilisation de la méthode Intesect

    Mytå
    Quelle prétention de prétendre que l'informatique est récente
    Adam et Eve avaient déjà un Apple ! [MsProject 2003(FR), Excel 2003-2007(FR)]
    5
    1. Mytå ,
      en fait, j'ai encore un petit souci !!!
      ok, la macro s'active bien quand je clique en cellule A1 et uniquement en cellule A1 grâce à cette fameuse méthode qui permet l'intersection...
      Par contre, j'aimerais qu'elle ne s'active QUE SI je fais un changement de valeur en cellule A1.

      Pour illuster un peu ma demande, j'ai une cellule qui sert de choix pour l'utilisateur.
      soit il opère un changement et donc, derrière, j'ai quelques préparations
      soit il clique dans la cellule mais sans opérer de changement et là, j'aimerais que la macro ne se lance pas !
      sais-tu comment je pourrais faire ?

      merci
      0
      1. Contributeur
        re le forum

        C'est la fonction du
        Private Sub Worksheet_Change(ByVal Target As Range)

        Contrairement au
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        Le premier code pour un changement de valeur de la cellule, et
        le deuxième pour le changement de selection de cellule.

        Mytå
        0
    2. ah.... c'est BON maintenant.
      merci beaucoup.
      ce coup-ci, c'est vraiment résolu ;-)
      0
      1. intersect !! very useful function
        0