Comment neutraliser l’écran lors du déroulement d’un programme ?

  • Initiateur de la discussion Initiateur de la discussion Sebast
  • Date de début Date de début

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 !

Sebast

XLDnaute Impliqué
Bonsoir à toutes et à tous,

Existe-t-il un moyen d’afficher un écran neutre lors du déroulement d’un programme VBA ?
En effet, même si avec application.screen.updating … j’arrive à éviter le scintillement, on voit encore trop de choses et notamment les feuilles du fichier Excel, que j’ouvre pour y accéder, piocher les données, y copier des éléments etc. et que je ferme à la fin du programme.
En gros, peut-on neutraliser l’écran ? Je ne veux pas complètement occulter Excel mai seulement masquer les mouvements sur les feuilles.

Quelqu’un a-t-il une idée ?

Bonne soirée
 
Re : Comment neutraliser l’écran lors du déroulement d’un programme ?

Bonsoir à tous,

merci de vous pencher sur ma demande.


David84 : avec l'instruction Application.Visible = False, on perd absolument toute trace d'Excel, qui semble disparaître de l'écran ...
Dans la mesure où le programme est interactif, c'est à dire demande via des msgbox le périmètre à travailler, si on est en provisoire ou en définitif, si on veut ceci ou cela, il faut qu'Excel reste à l'écran (ou me trompe-je ?)

Modeste gedee : comme dit plus haut, l'instruction Application.ScreenUpdating=False empêche que l'écran scintille quand il y a beaucoup de mouvements, type boucles etc. mais n'empêche pas qu'on voit l'ouverture et la fermeture des feuilles.

Staple1600 : tu as compris la situation ...

à +
 
Re : Comment neutraliser l’écran lors du déroulement d’un programme ?

Re,

en fait je viens de me rendre compte que ça ne nuit pas aux msgbox.
Cependant, ça affiche l'écran sur lequel on était avant excel, type explorateur windows ou page Word ...
Dans ces conditions, peut-on avoir une page vraiment neutre ? Je m'étais dit que j'ouvre un autre fichier excel mais comme il vient d'être rendu invisible ...

à +
 
Re : Comment neutraliser l’écran lors du déroulement d’un programme ?

Re
si j'ai bien compris tu ne veux pas voir à l'écran durant le déroulement de ta macro l'ouverture et le travail effectué sur les documents que tu ouvres à parti de ton fichier Excel, donc si c'est cela tu dois rendre invisible la nouvelle instance créée de l'application.
Exemple pour l'ouverture d'un fichier Word à partir d'Excel (tu dois spécifier un chemin valide donc choisis un fichier Word présent sur ton ordinateur, récupère son chemin complet et colle-le dans la macro à la place de C:\DocumentWord.doc. Actuellement le fichier ne sera pas visible à l'écran car
Code:
wordApp.Visible = False
Si tu le modifies
Code:
wordApp.Visible = True
les modifications apportées à ce document Word seront visibles à l'écran
:
Code:
Sub test()
Dim wordApp As Object, répertoire As String
répertoire = "C:\DocumentWord.doc" 'chemin à spécifier
On Error Resume Next
Set wordApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
    Set wordApp = CreateObject("Word.Application")
    Err.Clear
End If
wordApp.Visible = False 'mettre True pour garder Word visible
Set WordDoc = wordApp.Documents.Open(Filename:=répertoire) 'ouvre le document Word
End Sub
A+
 
Re : Comment neutraliser l’écran lors du déroulement d’un programme ?

Bonjour,

désolé pour cette réponse tardive mais la nuit est passée par là ...
Merci pour ta proposition, qui répond bien à la demande mais, à la réflexion, oblige à s'assurer qu'il y a bien Word sur le poste utilisé (pas toujours le cas : au boulot : oui mais sur mon portable perso : non)

J'ai entre-temps réfléchi et vais probablement utiliser une solution moins brillante mais "intégrée" à Excel :

1) Je crée des feuilles au nom le plus long possible
Ex : "Traitements Excel patientez SVP"

J'en crée quelques-unes, autant qu'il en faut pour qu'on ne voit plus les autres

2) Dans VBA, j'ouvre les feuilles indispensables aux traitements (c'est à dire justement celles que je ne veux pas montrer) et dans la foulée les feuilles "bidons" au nom à rallonge, et j'active la dernière
Ainsi, on ne voit plus qu'elles, alors que les feuilles "sensibles" sont à gauche de l'écran, donc pas exposées aux regards

3) En fin de traitement, je ferme les feuilles "sensibles" et les feuilles bidons


Encore merci pour ton aide et bonne journée
 
- 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
Retour