Microsoft 365 Copier d'une feuille à une autre lorsqu'il y a un code dans la feuille

ShrekL

XLDnaute Junior
Bonjour,

J'ai un classeur avec plusieurs onglets (feuilles de calcul) à l'intérieur. Dans chaque feuille, il y a un code simple pour renommer l'onglet et faire un peu de mise en page automatiquement quand je clic sur l'onglet. Jusque-là, tout est merveilleux.

Le problème est que lorsque je tente de copier de l'information provenant d'un autre onglet, en raison de la commande qui s'exécute automatiquement quand je vais d'un onglet à l'autre, cela sort de la commande de "copier/coller". Ça me cause aussi des soucis lorsque je monte des commandes où il y aurait de l'information à copier d'un onglet à l'autre.

La seule solution que j'ai trouvé à date, est que chaque fois que je veux travailler sur mon fichier et copier de l'info, je passe le code de chaque feuille et j'annule la commande avec un ' avant le code. Ça me fait une 15aine de feuille à faire. Pas mortel, mais quand même tannant.

Suggestion?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour ShrekL,
Pas vraiment tout compris.
J'ai compris que certaines de vos macros sont perturbées car vous avez des macros automatiques genre Worksheet_Activate ou autre.
Dans ce cas il faut suspendre l'exécution de ces macros ou plus exactement suspendre les events qui y sont liés par :
VB:
Application.EnableEvents = False  ' Events invalidés'
   Job à faire
Application.EnableEvents = True  ' Events revalidés'
Mais à ce moment tous les évents sont invalides donc il faut que l'inhibition soit la plus courte possible pour ne pas avoir de soucis.
Attention, si vous avez une erreur entre les deux Application.EnableEvents la sortie de la macro ne passera pas par le revalidation, et donc plus d'évents possible. Il est donc intéressant de faire :
Code:
Sub essai()
On Error GoTo Fin
'
' Job à faire
'
Exit Sub
Fin:
Application.EnableEvents = True
End Sub
De cette façon même en cas d'erreur les events seront revalidés.
 

Discussions similaires

Réponses
6
Affichages
362

Statistiques des forums

Discussions
311 720
Messages
2 081 915
Membres
101 837
dernier inscrit
Ugo