Maintenir affichage USF lorsqu'on travaille sur 2 classeurs

Bonjour,

Je me permets de venir vers vous car je cherche bloque sur l'affichage d'un USF.

Je lance un USF sur un premier classeur en mode non modal pour dire que EXCEL est en train d'exécuter des macros en arrière plan.

Dans les macros en cours d'exécution, il s'agit de supprimer des feuilles sur un deuxième classeur ouvert par macro (mais non visible).

Le souci est que lorsque les macros s’exécutent, le USF apparait puis disparait puis réapparait sur mon 1er classeur comme s'il était actualisé. Ce n'est pas gênant mais pas très propre.

J'ai essayé d'utiliser Application screenupdating = False mais cela ne change rien. J'ai trouvé une info sur un forum qui évoque cela mais je n'ai pas le code associé.

Maintenant il y a toutes les recommandations d'usage en ce qui concerne l'utilisation de Userform sur différents classeurs ouverts en même temps, car il faut s'assurer que chaque object est référencé complètement avec le nom du workbook, sinon ce sera le plantage assuré.

Je pensais pouvoir écrire un équivalent du code ci-dessous dans ma macro, sans succès:

Sub () Userform1_Initialize

Wbkc = ThisWorkBook

Wbkc.UserForm1.Show 0

'Suite du code

End Sub

Auriez-vous une piste svp ?

Merci beaucoup

JB

Bonjour JeanBaptisteP,

Sans fichier, il est difficile de répondre ... Je m'interroge sur le pourquoi du formulaire en mode non modal, en général c'est pour pouvoir intervenir sur des feuilles du classeur tout en conservant le formulaire ouvert si ce n'est pas votre cas, le mode non modal ne me semble pas nécessaire. Les clignotements peuvent aussi provenir du code qui est exécuté si dans ce code il y a des objets sélectionnés / activés.

Si cela ne vous aide pas désolé mais avec un fichier (sans données persos) le diagnostic serait beaucoup plus pertinent.

Cdlt,

Cylfo

Bonjour Cylfo,

Merci beaucoup pour votre réponse.

Je vais tenter de produire un fichier exemple en retirant les données perso.

Peut-être dois-je modifier l'affichage de mon userform justement.

Comment procéder pour informer mes collaborateurs que les macros s'en en train de s'exécuter en arrière plan ? (car le traitement est assez long et certains collaborateurs quittent EXCEL avant la fin du traitement)

Je pensais afficher un USF comme cela les macros continuent d'être exécutées en arrière plan tout en affichant le USF au premier plan. Si vous avez une autre solution je suis preneur.

Effectivement on passe du classeur 2 au classeur 1 pour revenir au classeur 2, peut-être que le clignotement est dû à cela. Je vais regarder

Je fais au mieux pour vous envoyer une copie de mon classeur.

Bonne journée

JB

Bonsoir,

Je me permets de revenir vers vous. J'ai cherché sur plusieurs forums et il faut ajouter DoEvents sous le code USF.Show0

Savez-vous pourquoi ?

J'ai fait le test et c'est bon. Je vais essayer avec d'autres classeurs pour voir si c'est toujours ok. Je reviendrais clôturer le sujet après ma vérification.

Bonne soirée à tous

JB

Rechercher des sujets similaires à "maintenir affichage usf lorsqu travaille classeurs"