VBA Excel... sub Worksheet_change

Résolu/Fermé
gyom - 18 déc. 2011 à 23:51
 nizzoo - 22 sept. 2016 à 21:47
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

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
Modifié par Mytå le 19/12/2011 à 00:33
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
TOPISSIME !!!
merci bcp
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
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
19 déc. 2011 à 13:49
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
ah.... c'est BON maintenant.
merci beaucoup.
ce coup-ci, c'est vraiment résolu ;-)
0
intersect !! very useful function
0