OVH Cloud OVH Cloud

ScreenUpdating....

6 réponses
Avatar
Thierry
Bonjour tout le monde !

J'ai un souci avec la fonction application.screenupdating :
J'ai placé cette instruction dans le WorkBook_Open mais ça ne fonctionne
pas. Où faut-il la placer pour que cette instruction soit active pour
tout mon code ???

Merci d'avance
tp

6 réponses

Avatar
Pierre Fauconnier
Bonjour

tout mon code ???


Screenupdating ne fonctionne que jusqu'à ce que VBA rende la main à Excel.

Il faut donc le spécifier au début de chaque procédure appelée par Excel.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Thierry" a écrit dans le message de
news:
Bonjour tout le monde !

J'ai un souci avec la fonction application.screenupdating :
J'ai placé cette instruction dans le WorkBook_Open mais ça ne fonctionne
pas. Où faut-il la placer pour que cette instruction soit active pour tout
mon code ???

Merci d'avance
tp


Avatar
Thierry
Merci pour l'info. Maintenant tout est Ok...
Encore une journée où j'aurais appris quelque chose !!
Faut dire que depuis que je fréquente ce forum, je suis "sur le cul", je
ne pensais pas qu'on pouvait en faire autant avec un tableur !!!

@+tp :-))

Bonjour


tout mon code ???



Screenupdating ne fonctionne que jusqu'à ce que VBA rende la main à Excel.

Il faut donc le spécifier au début de chaque procédure appelée par Excel.

Ok?





Avatar
Pierre Fauconnier
Salut...

Sans entrer dans la polémique, j'ai dit:
Il faut donc le spécifier au début de chaque procédure appelée par Excel.
et non "...au début de chaque procédure appelée par VBA"...




Dès lors, il est exact qu'une procédure qui en appelle une autre lui
"transmet" la valeur de la propriété screenupdating.
Mais dès que la main est rendue à Excel, et que donc toute cascade de
procédure et/ou fonctions est arrêtée, screenupdating redevient TRUE.

Il est effectivement possible de modifier cette propriété à TRUE avant que
Excel reprenne la main.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"anonymousA" a écrit dans le message
de news:
bonjour,

suis pas tout à fait d'accord sinon sur le fond du moins sur l'énoncé.
En effet, si dans une procédure maitre on déclare Screenupdating à false
et
qu'ensuite dans la même procédure on fait appel à des sous-routines,
celles-ci seront exécutées avec Screenupdating à false.
C'est seulement à la fin de la procédure maître que Screeupdating
redeviendra true par déclaration si le programmeur a pris le soin de le
préciser et par défaut dans le cas contraire.
Ce qui est vrai par contre et en vertu de ce que je dis dans la dernière
phrase précédente c'est que déclarer Screenupdating à false dans le
workbook_open ne garantit pas que Screenupdating restera à false pour les
autres procédures indépendantes qui pourraient être ensuite déclenchées
par
l'utilisateur. Dans ce cas bien sur, ce que tu dis conserve toute sa
validité.

A+


Bonjour

tout mon code ???


Screenupdating ne fonctionne que jusqu'à ce que VBA rende la main à
Excel.

Il faut donc le spécifier au début de chaque procédure appelée par Excel.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Thierry" a écrit dans le message de
news:
Bonjour tout le monde !

J'ai un souci avec la fonction application.screenupdating :
J'ai placé cette instruction dans le WorkBook_Open mais ça ne
fonctionne
pas. Où faut-il la placer pour que cette instruction soit active pour
tout
mon code ???

Merci d'avance
tp









Avatar
Pierre Fauconnier
Tu l'as dit... Mais c'est vrai que parfois, lorsqu'il n'est pas possible de
détailler le propos, il vaut mieux être plus explicite, ce que je n'ai pas
fait sur ce coup-là... ;-)

Amicalement,

Pierre

"anonymousA" a écrit dans le message
de news:
pas de pb pour moi.Il s'agissait juste d'une petite discussion cordiale
Sur ce forum, la sématique, quel art !!!

A+


Salut...

Sans entrer dans la polémique, j'ai dit:
Il faut donc le spécifier au début de chaque procédure appelée par
Excel.
et non "...au début de chaque procédure appelée par VBA"...




Dès lors, il est exact qu'une procédure qui en appelle une autre lui
"transmet" la valeur de la propriété screenupdating.
Mais dès que la main est rendue à Excel, et que donc toute cascade de
procédure et/ou fonctions est arrêtée, screenupdating redevient TRUE.

Il est effectivement possible de modifier cette propriété à TRUE avant
que
Excel reprenne la main.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"anonymousA" a écrit dans le
message
de news:
bonjour,

suis pas tout à fait d'accord sinon sur le fond du moins sur l'énoncé.
En effet, si dans une procédure maitre on déclare Screenupdating à
false
et
qu'ensuite dans la même procédure on fait appel à des sous-routines,
celles-ci seront exécutées avec Screenupdating à false.
C'est seulement à la fin de la procédure maître que Screeupdating
redeviendra true par déclaration si le programmeur a pris le soin de le
préciser et par défaut dans le cas contraire.
Ce qui est vrai par contre et en vertu de ce que je dis dans la
dernière
phrase précédente c'est que déclarer Screenupdating à false dans le
workbook_open ne garantit pas que Screenupdating restera à false pour
les
autres procédures indépendantes qui pourraient être ensuite déclenchées
par
l'utilisateur. Dans ce cas bien sur, ce que tu dis conserve toute sa
validité.

A+


Bonjour

tout mon code ???


Screenupdating ne fonctionne que jusqu'à ce que VBA rende la main à
Excel.

Il faut donc le spécifier au début de chaque procédure appelée par
Excel.

Ok?


--
Pierre Fauconnier ()
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Thierry" a écrit dans le message
de
news:
Bonjour tout le monde !

J'ai un souci avec la fonction application.screenupdating :
J'ai placé cette instruction dans le WorkBook_Open mais ça ne
fonctionne
pas. Où faut-il la placer pour que cette instruction soit active
pour
tout
mon code ???

Merci d'avance
tp
















Avatar
GD
;o)))
et non pas :
Ce Surhomme, la sématique, quelle foire !!!!
;o)))
;o)))
anonymousA wrote:
pas de pb pour moi.Il s'agissait juste d'une petite discussion
cordiale Sur ce forum, la sématique, quel art !!!


Avatar
Pierre Fauconnier
Toujours en forme, à ce que je vois... ;-)

Pierre

"GD" a écrit dans le message de news:

;o)))
et non pas :
Ce Surhomme, la sématique, quelle foire !!!!
;o)))
;o)))
anonymousA wrote:
pas de pb pour moi.Il s'agissait juste d'une petite discussion
cordiale Sur ce forum, la sématique, quel art !!!