plusieurs macro a execution automatiques

patron12

XLDnaute Nouveau
Bonjour mes amis ;

afin d'avoir une executtion automatique d'un macro (X) lors de changement du contenu d'une cellule bien determinée(Y)
il suffit d'inserer sur VBA :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("Y")) Is Nothing Then
Call X
End If
End Sub



Mon probleme ;cest que je veux avoir; sur une meme feuille ;plussieurs macro , chacun executer automatiquement lors de changement d'une cellule bien determinée

par exemple macro X s'sexecute lors de changement de contenu de la cellule Y

macro B s'sexecute lors de changement de contenu de la cellule C

macro D s'sexecute lors de changement de contenu de la cellule P


j ai inseré le modele ci-dessous VBA :3 fois ( une fois pour chaque macro) en cliquant sur la touche "entrée" du clavier pour separer chaque macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("y3")) Is Nothing Then
Call X
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C3")) Is Nothing Then
Call B
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("P3")) Is Nothing Then
Call D
End If
End Sub

Mais ca ne marche que pour le premier macro ; les deux autres j ai un message d erreur lors de l'execution.
 

DoubleZero

XLDnaute Barbatruc
Re : plusieurs macro a execution automatiques

Bonjour, patron12, le Forum,

Comme ceci ?

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("y3")) Is Nothing Then Call X
    If Not Application.Intersect(Target, Range("C3")) Is Nothing Then Call B
    If Not Application.Intersect(Target, Range("P3")) Is Nothing Then Call D
End Sub

A bientôt :)

P. S. : Bonjour, Dranreb :D
 

Dranreb

XLDnaute Barbatruc
Re : plusieurs macro a execution automatiques

Bonjour.

Faites comme ça:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
   Case "$Y$3": Call X
   Case "$C$3": Call B
   Case "$P$3": Call D
   End Select
End Sub

Edit: Bonjour 00. Ta solution est plus fidèle à l'original: En effaçant toute la ligne 3, les 3 procédures peuvent être exécutées. Mais il n'est pas sûr que c'était le besoin du demandeur.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg