ScreenUpdating ne fonctionne pas !!!

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Xtian_Québec

XLDnaute Occasionnel
Salut le Forum, j'ai fait quelques recherches mais je ne trouve pas de solution à mon petit problème. J'ai un fichier avec plusieurs feuilles et j'affiche une page d'ouverture lorsque le fichier est lancé. J'ai un userform qui demande à l'utilisateur de s'identifier avec mot de passe et selon l'usager, plusieurs codes sont lancés simultanément pour afficher ou masquer des lignes dans différentes feuilles du fichier. Comme je ne veux pas afficher le déroulement de mes codes à l'écran, j'utilise Application.screenUpdating = False. Hors, comme j'ai plusieurs codes qui s'exécute, j'ai inséré cette fonction au début de chaque code pour être certain que l'écran est "gelé" pendant les procédures.

Mon problème c'est que dans l'une des codes, une feuille du rapport est sélectionnée pour faire quelques ajustements et même si j'ai inséré la fonction Application.screenUpdating = False juste avant le code Sheets("A").select, la feuille s'affiche quand mème...J'ai suivi mon code pas à pas et je n'ai aucun code précédent qui indique Application.screenUpdating = True...Je croyais que mon problème était causé par un True dans un des codes précédent mais ce n'est pas le cas...

je ne comprends pas ce qui se passe...J'ai essayé d'utiliser la fonction Sheets("A").visible=false mais mon code arrête car il ne peut exécuter les actions sur une feuille non visible...

Pourquoi mon écran affiche la feuille A avec la fonction Application.screenUpdating = False ???

La partie du code qui est en défaut est relié au bouton OK de mon userform. Le fait d'activer un userform a-t-il un effet sur ScreenUpdating ?

Votre aide est grandement apprécié

Merci

Xtian_Québec
@+++
 
Re : ScreenUpdating ne fonctionne pas !!!

Bonjour Xtian_Québec,
la fonction Application.screenUpdating = False empeche pas la selection
d'une feuille,elle sers à, désactivez la mise à jour de l'écran pour accélérer l'exécution du code de votre macro. Vous ne pourrez suivre le déroulement de la macro mais en revanche celle-ci sera exécutée plus rapidement.
Voir l'aide d'excel

Salut Yves
 
Re : ScreenUpdating ne fonctionne pas !!!

Merci ziopizza (Yves). Je croyais que cette fonction figeait l'écran durant toute la procédure...J'ai préparé un petit fichier avec 2 boutons; True et False

Avec True, on voit apparaître les couleurs de la Feuil2 pendant la procédure et avec le bouton False, on ne voit pas les couleurs durant la procédure...C'est ce que je veux faire avec ma feuille OUVERTURE et feuille A de mon fichier original

Pourquoi ma feuille A s'affiche durant la procédure et pas la Feuil2 dans le petit fichier joint ?

Merci de ton aide

Xtian_Québec
 

Pièces jointes

Re : ScreenUpdating ne fonctionne pas !!!

Merci pour l'invitation mais si je dois prendre l'avion pour aller goûter à ta pizza, ça fait un peu dispendieux pour moi...même si la pizza est gratuite...

Blague à part, si on retourne au sens même de ce fil, j'ai revérifié mon fichier et il y a la fonction au début de chaque sub ou public sub ce qui devrait figer mon écran, peut importe quel code est exécuté...

Le seul hic entre mon petit fichier et mon fichier original c'est que mon petit fichier ne lance pas le code à partir d'un Userform mais à partir d'une bouton...

Le userform est peut être la cause...quelqu'un a une idée ou une autre recette !!!

Merci encore à tous

Xtian_Québec
@+++
 
Re : ScreenUpdating ne fonctionne pas !!!

Merci jmps de te pencher sur mon problème et merci pour ta réponse...le problème ne se situe pas au niveau de mon fichier "Screen" mais dans mon fichier original qui est trop volumineux pour être joint à ce fil...

Je m'explique d'une autre façon:

À l'ouverture de mon fichier Workbook_Open s'exécute et lance une série de code dont un Userform et selon les informations que l'usager a inscrit dans le Userform, différents codes sont exécutés.

Chacun des codes comprend au début la fonction Application.ScreenUpdating = False. Les différents codes effectuent des tâches sur d'autres feuilles de mon fichier. J'ai une feuille IMAGES qui est activée dans un des codes et je ne vois pas apparaître cette feuille lors de la procédure, et c'est ce que je veux. Je ne vois pas apparaître cette feuille car au début de tous les codes qui sont liés à cette feuille, je retrouve la fonction Application.ScreenUpdating = False.

J'ai une autre feuille qui se nomme RAPPORT et je vois apparaître cette feuille pendant ma procédure et je ne voudrais pas voir cette feuille durant la procédure comme pour la feuille IMAGE...TOUS les codes reliés à la feuille RAPPORT commencent avec la fonction Application.ScreenUpdating = False et c'est là mon problème...je ne comprends pas pourquoi ma feuille IMAGE n'apparaît pas alors que ma feuille RAPPORT apparaÎt !!!

Dans mon petit fichier DEMO, le code SU_True m'affiche la procédure et c'est OK. Le code SU_False me cache la procédure et c'est OK. Je voudrais comprendre pourquoi mon code SU_False masque le déroulement de mon code alors que les mêmes fonctions dans mon fichier original me montre le déroulement ???

Comme indiqué dans ce fil, la seule différence entre les deux fichiers (DEMO vs ORIGINAL) c'est que dans le DEMO, je lance le code à partir d'un bouton et dans le fichier ORIGINAL, je lance le code à partir d'un Userform...

Quelqu'un à une solution pour mon problème ?

Merci

Xtian_Québec
@+++
 
Re : ScreenUpdating ne fonctionne pas !!!

Re Moi,
Avec le petit code de José je me suis aperçu que le ScreenUpdating = False
ignoré la première sélection de la feuille2, mais pas la seconde sélection de la feuille2, alors que je n'ai pas encore mis, Application.ScreenUpdating = True.
Peut être que le problème vient de là ?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Sheets("Feuil2").Select' 1 Sélection
MsgBox "coucou"
Sheets("Feuil2").Select' 2 Sélection
Application.ScreenUpdating = True
End Sub
Salut Yves
 
Re : ScreenUpdating ne fonctionne pas !!!

Merci José...

C'est volumineux mais je te l'envoie. Il y a plusieurs fichiers reliés ensemble mais je te donnes quelques instructions avec le mail.

Merci de prendre de ton temps pour moi.

Si tu trouves une solution, faudra le lancer sur le fil pour les autres utilisateurs du forum

Merci encore

Xtian_Québec
@+++
 
Re : ScreenUpdating ne fonctionne pas !!!

Merci José. J'espère que tu auras une idée brillante après avoir visionné mon fichier. Si tu ne trouves pas, c'est pas grave car juste le fait de te pencher sur mon pb est déjà bien apprécié.

@+

Xtian_Québec
 
Re : ScreenUpdating ne fonctionne pas !!!

Salut le forum, José et les autres,

José, j'ai testé ton fichier et je rencontre encore le même pb. Je crois que c'est une cause désespérée...il y a trop de sub qui appelent d'autres sub qui eux appelent à leur tour d'autres sub...

Je sais que la fonction ScreenUpdating=False gèle l'écran pour ne pas afficher le déroulement du code car je l'utilise dans pratiquement tous mes fichiers et ça fonctionne toujours...Ici, dans mon "super-fichier", ça ne fonctionne pas...va donc savoir pourquoi ???

De toute façon, ce n'est pas un problème vraiment important, il s'agit seulement de ce qui est affiché à l'écran. Le fichier n'affiche pas ce que j'aimerais qui soit affiché à l'ouverture mais le plus important, c'est que le fichier soit utilisable.

Si jamais je trouve une raison à ce phénomène, je serai heureux de le partager avec le forum.

@+++
Xtian_Québec
 
Re : ScreenUpdating ne fonctionne pas !!!

Re jmps, si t'as le temps de "baragouiner" quelsques codes dans le fichier, je suis toujours ouvert à l'amélioration...Je ne serai pas disponible jusqu'au 24 Août car je me rends à Chicago pour une formation avec ReportNet (Cognos).

Le fichier V1.6 aura des ajouts à faire à mon retour (V1.7) donc je pourrai intégré tes "trouvailles" à cette mise à jour si toutefois tu trouves quelque chose d'intéressant...

Merci beaucoup et fais attention de ne pas te blesser dans le déménagement...Moi je viens de m'en taper 2 à quelques jours d'intervale (mon fils et ma fille)...Ah ce que les PAPA ne feraient pas pour leurs enfants, qu'on soit en forme ou non !!!

@+++
Xtian_Québec
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
250
Réponses
9
Affichages
151
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
532
Retour