Masquage du classeur actif par programme dans Excel
Je suis en train de travailler sur un projet VBA dans un classeur. Le code ouvre un nouveau classeur et appelle une API externe qui télécharge et insère un tas de données dans plusieurs feuilles de calcul de ce classeur. J'ai désactivé l'Écran de mise à Jour (Application.Screenupdating = False
) donc, au départ, l'écran reste concentré sur le classeur d'origine que l'API télécharge les données sur l'autre classeur en arrière-plan. Cependant, l'écran bascule vers le nouveau classeur une fois l'API insère des données. Comment puis-je éviter cela? Merci!
source d'informationauteur lodhb
Vous devez vous connecter pour publier un commentaire.
Soit vous vous enregistrez et fermez le classeur cible, ou sélectionnez le classeur d'origine avant de screenupdating est tourné le dos.
Cacher le classeur actif est possible avec
Vous devrez peut-être remplacer
ActiveWorkbook
avec une référence appropriée si le classeur en question n'est pas active et/ou ajouter une boucle commeFor i = 1 To ActiveWorkbook.Windows.Count
si le classeur a plusieurs fenêtres.Vous pouvez essayer d'utiliser la fonction ShowWindow API:
Ou, à défaut, LockWindowUpdate la fonction de l'API (grâce à la Puce Pearson, http://www.cpearson.com/excel/vbe.aspx):