Exécution d'une macro selon la valeur d'une cellule qui dépend d'une autre

degards

XLDnaute Occasionnel
Bonjour à vous !!

J'ai beau chercher mais je ne trouve pas ma réponse. Dans mon classeur j'ai deux feuilles de travail. Sur la première en D3, je sélectionne un choix. Automatiquement sur le feuille 2 en C6 le même choix s'inscrit. Jusque là tout va bien. Voici le moment où ça se gâte. J'aimerais qu'un macro s'exécute dans la feuille 2 selon le choix fait dans la feuille 1 D3. Je me doute que la solution se retrouve dans la manière d'écrire ma référence
Set Isect = Application.Intersect(Range("c6"), Target), car le range de cette dernière fait référence à la cellule C6 de la feuille 2 mais comme cette cellule contient "=Feuil1!D3", j'ai l"impression que la ligne de commande du VBA ne réponds pas bien.

Est-ce qu'il y a une manière de faire référence à une cellule d'une autre feuille dans l'expression :
Set Isect = Application.Intersect(Range("c6"), Target)

Merci de votre soutien
 

Pièces jointes

  • démonstration.xlsm
    12.8 KB · Affichages: 8

degards

XLDnaute Occasionnel
Merci de votre réponse rapide mais c'est exactement ce que je demandais. Comment faire pour que la macro se réfère à la cellule de la feuille 1 pour exécuter une macro sur la feuille 2. Y a-t-il pas un autre moyen de faire car si je comprends bien il va falloir que je recommence ma macro au complet puisque qu'elle copiait des cellules d'un place à une autre sur la feuille 2.
 

Patrice33740

XLDnaute Impliqué
Il suffit de mettre dans le module de la feuille 1 :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$3" Then Call MaMacro
End Sub

Edit ; si ta macro est dans le module de Feuil2 :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$D$3" Then Call Feuil2.MaMacro
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
347

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly