Lancement d'une macro lorsque je change de feuille

Anonyme
2022-04-14T10:05:49+00:00

Bonjour,

J'ai un classeur avec 4 feuilles. Sur la feuille 1, j'ai une BD. Dans cette feuille 1, j'ai une macro (qui n'utilise que les valeurs de la feuille 1 et ne fait des changements que sur la feuille 1) qui va sélectionner des enregistrements et me créer une liste qui me servira pour les 3 autres feuilles. À chaque changement sur la feuille 1 je peux lancer une macro en Private Sub Worksheet_Change, mais la macro va se lancer très souvent et elle dure plus de 2 secondes.

Ce que je voudrais, c'est que, lorsque je quitte la feuille 1, la macro se lance (l'équivalent de BeforeClose du classeur). Si je la lance à l'activation d'une nouvelle feuille la macro va revenir sur feuille 1 pour faire le traitement et donc je ne m'en sors plus.

J'espère avoir été assez clair,

Richard

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
DanielCo 107.7K Points de réputation
2022-04-19T16:55:22+00:00

Tu définis ce nom à au moins 3 endroits. Fais une rechercche sur Names.Add

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
DanielCo 107.7K Points de réputation
2022-04-18T17:27:11+00:00

Compris. Remplace la ligne :

.SetRange .Range("BA1:BJ" & NbActu)

par :

.SetRange Sheets("Adh").Range("BA1:BJ" & NbActu)

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

27 réponses supplémentaires

  1. DanielCo 107.7K Points de réputation
    2022-04-19T12:59:19+00:00

    Bonjour,

    A l'ouverture du classeur, le nom est en erreur :

    =Adh!#REF!

    Après exécution de la macro :

    =Adh!$BA$2:$BI$63

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2022-04-19T12:39:30+00:00

    ne prend pas non plus l'instruction suivante (ne signale pas d'erreur mais n'en tient pas compte) :

    ActiveWorkbook.Names.Add Name:="adher", RefersToR1C1:="=Adh!R2C53:R" & nbAdh & "C67" 
    

    que faut-il changer ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2022-04-19T06:14:52+00:00

    parfait merci

    richard

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire