Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Worksheet_Change]: Le code ne se déclenche pas automatiquement

  • Initiateur de la discussion Initiateur de la discussion Arvensis
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Arvensis

Guest
Bonjour;

Je dispose d'une feuille contenant plusieurs TCD, dont je veut appliquer le même filtre (filtre par client). Pour ce, j'utilise un code par lequel je fais le choix du filtre sur un seul des TCD (dont la valeur se trouve dans la cellule B2), et dont l'application doit se faire automatiquement sur les autres :

Code:
Dim pvt As PivotTable

 For Each pvt In ActiveSheet.PivotTables

    pvt.PivotFields("Client").CurrentPage = Cells(2, 2).Value
        
 Next

End Sub

Je voudrais alors que le code s'exécute automatiquement lorsque je fais le choix sur la liste, pour ce j'ai eu recours à l'évènement Worksheet_Change

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim pvt As PivotTable

  If Target.Address = "$B$2" Then
 
 For Each pvt In ActiveSheet.PivotTables

    pvt.PivotFields("Client").CurrentPage = Cells(2, 2).Value
         
 Next



End Sub

le problème c'est que quand je fais un nouveau choix le code ne s'exécute pas automatiquement, j'avoue que je n'arrive pas à cerner l'erreur.

Je sollicite votre aide, merci d'avance.
 
Dernière modification par un modérateur:
Re : [Worksheet_Change]: Le code ne se déclenche pas automatiquement

Bonjour à tous,

Tu as bien mis le code dans le module de la feuille concernée...




Tu as, ici, un End Sub de trop

A+ à tous
 
Re : [Worksheet_Change]: Le code ne se déclenche pas automatiquement

Oui j'ai mis le code dans le module de feuille en question, pour le Endsub c'était juste une erreur de copie.


j'ai essayé de mettre le code dans un bouton, là il marche impeccablement lorsque j'appuie dessus !

vraiment bizarre!
 
Re : [Worksheet_Change]: Le code ne se déclenche pas automatiquement

Bonjour, salut JC,
L'événement Change ne fonctionne pas avec les champs d'un TCD, met la liste en dehors du champs Page
A+
kjin
 
Re : [Worksheet_Change]: Le code ne se déclenche pas automatiquement

Salut Arvensis et le forum
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'...
If Target.Address = "$B$2" Then
'.....
End Sub
Foctionnera si tu modifies le contenu de B2. Pas la valeur.
Donc, si B2 : =A1, et que tu modifies A1, ta macro détectera que Target = A1 et ton problème vient peut-être de là.
Met un point d'arrêt sur la ligne de titre, et regarde ce qui se passe en pas -à-pas. Si le problème vient bien de là, 2 solutions :
on teste l'adresse de target
- soit comme A1 (dans mon exemple).
- soit comme faisant partie des antécédents de la formule en B2 : ex
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Set Plage = Intersect(Target, Range("B2").Precedents)
If Not (Plage Is Nothing) Then MsgBox Plage.Address(0, 0)
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
491
Réponses
3
Affichages
402
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…