Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Tu définis ce nom à au moins 3 endroits. Fais une rechercche sur Names.Add
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
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
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
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.
Réponse acceptée par l’auteur de la question
Tu définis ce nom à au moins 3 endroits. Fais une rechercche sur Names.Add
Réponse acceptée par l’auteur de la question
Compris. Remplace la ligne :
.SetRange .Range("BA1:BJ" & NbActu)
par :
.SetRange Sheets("Adh").Range("BA1:BJ" & NbActu)
Daniel
Bonjour,
Dans la plupart des cas, tu n'as pas à sélectionner la feuille :
With Sheets("Feuil1")
.range("A1)="aaa"
'etc.
End With
Le "." devant Range signifie Sheets("Feuil1").Range
Daniel
Merci pour la réponse. J'ai besoin d'une précision. Vu que l'action de la macro a lieu dans la feuille 1, dans ThisWorkbook, dois-je rajouter la 1ère ligne en gras ?
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
**Sheets(1).Select**
la macro pour la feuille 1
End Sub
Cordialement
Richard
Bonjour
Dans ThisWorkbook
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
+
Private Sub Workbook_BeforeClose(Cancel As Boolean) si l'on quitte le classeur depuis la feuil1