Bonjour
Les saisies dans Feuil1 commandent des ajustements dans Feuil2, Feuil3,
Feuil4 opérés par des macros appellées dans une macro évènementielle de
la Feuil1.
Les activations successives des Feuil2, 3 et 4 pendant ces ajustements
(recopies de formules, et éventuellement tris) se traduisent par un
clignotement de la Feuil1 (de travail) qui est désagréable.
Existe-t-il un moyen de l'éviter ?
Par exemple travailler en fond dans les autres feuilles Feuil1 restant
affichée, ou, figer l'écran pendant l'exécution des macros dans Feuil2,
3 et 4, ou, que sais-je...? que je ne sais pas... mais que peut-être
quelqu'un sait ?
Merci
Ne pas oublier = true si on souhaite la mise à jour de l'affichage avant la fin de la macro De plus si dans la macro on a programmé, en programmation par simulation :
Données/Formulaire...
il faudra ajouter Application.DisplayAlerts= false
Il existe d'autres méthodes pour éviter les clignotements comme écrire sans Set :
MaVariableVariant =MonObjetRangeSurUneFeuille
MaVariableVariant sera pris comme un tableau dont il faudra sortir les dimensions... et la formule suivante permettra le rechargement :
MonObjetRangeSurUneFeuille=MaVariableVariant
C'est la méthode la plus rapide : elle évite les itérations, l'activation de feuilles et les passages par .Value.
MonObjetRangeSurUneFeuille peut être le résultat d'une union de zones range mais ce sera plus délicat à manipuler surtout avec des zones adjacentes (Excel pratique des fusions automatiques d'aires)
@+
M41
"LANIMAL" a écrit dans le message de news: e%
Bonjour Les saisies dans Feuil1 commandent des ajustements dans Feuil2, Feuil3, Feuil4 opérés par des macros appellées dans une macro évènementielle de la Feuil1. Les activations successives des Feuil2, 3 et 4 pendant ces ajustements (recopies de formules, et éventuellement tris) se traduisent par un clignotement de la Feuil1 (de travail) qui est désagréable. Existe-t-il un moyen de l'éviter ? Par exemple travailler en fond dans les autres feuilles Feuil1 restant affichée, ou, figer l'écran pendant l'exécution des macros dans Feuil2, 3 et 4, ou, que sais-je...? que je ne sais pas... mais que peut-être quelqu'un sait ? Merci
Bonjour
Ne pas oublier = true si on souhaite la mise
à jour de l'affichage avant la fin de la macro
De plus si dans la macro on a programmé,
en programmation par simulation :
Données/Formulaire...
il faudra ajouter
Application.DisplayAlerts= false
Il existe d'autres méthodes pour éviter
les clignotements comme écrire sans Set :
MaVariableVariant =MonObjetRangeSurUneFeuille
MaVariableVariant sera pris comme un tableau dont
il faudra sortir les dimensions... et la formule suivante
permettra le rechargement :
MonObjetRangeSurUneFeuille=MaVariableVariant
C'est la méthode la plus rapide : elle évite les itérations,
l'activation de feuilles et les passages par .Value.
MonObjetRangeSurUneFeuille peut être le résultat d'une
union de zones range mais ce sera plus délicat à manipuler
surtout avec des zones adjacentes (Excel pratique des
fusions automatiques d'aires)
@+
M41
"LANIMAL" <lanimal@tiscali.fr> a écrit dans le message de news:
e%23D1VjlFFHA.1408@TK2MSFTNGP10.phx.gbl...
Bonjour
Les saisies dans Feuil1 commandent des ajustements dans Feuil2, Feuil3,
Feuil4 opérés par des macros appellées dans une macro évènementielle de la
Feuil1.
Les activations successives des Feuil2, 3 et 4 pendant ces ajustements
(recopies de formules, et éventuellement tris) se traduisent par un
clignotement de la Feuil1 (de travail) qui est désagréable.
Existe-t-il un moyen de l'éviter ?
Par exemple travailler en fond dans les autres feuilles Feuil1 restant
affichée, ou, figer l'écran pendant l'exécution des macros dans Feuil2, 3
et 4, ou, que sais-je...? que je ne sais pas... mais que peut-être
quelqu'un sait ?
Merci
Ne pas oublier = true si on souhaite la mise à jour de l'affichage avant la fin de la macro De plus si dans la macro on a programmé, en programmation par simulation :
Données/Formulaire...
il faudra ajouter Application.DisplayAlerts= false
Il existe d'autres méthodes pour éviter les clignotements comme écrire sans Set :
MaVariableVariant =MonObjetRangeSurUneFeuille
MaVariableVariant sera pris comme un tableau dont il faudra sortir les dimensions... et la formule suivante permettra le rechargement :
MonObjetRangeSurUneFeuille=MaVariableVariant
C'est la méthode la plus rapide : elle évite les itérations, l'activation de feuilles et les passages par .Value.
MonObjetRangeSurUneFeuille peut être le résultat d'une union de zones range mais ce sera plus délicat à manipuler surtout avec des zones adjacentes (Excel pratique des fusions automatiques d'aires)
@+
M41
"LANIMAL" a écrit dans le message de news: e%
Bonjour Les saisies dans Feuil1 commandent des ajustements dans Feuil2, Feuil3, Feuil4 opérés par des macros appellées dans une macro évènementielle de la Feuil1. Les activations successives des Feuil2, 3 et 4 pendant ces ajustements (recopies de formules, et éventuellement tris) se traduisent par un clignotement de la Feuil1 (de travail) qui est désagréable. Existe-t-il un moyen de l'éviter ? Par exemple travailler en fond dans les autres feuilles Feuil1 restant affichée, ou, figer l'écran pendant l'exécution des macros dans Feuil2, 3 et 4, ou, que sais-je...? que je ne sais pas... mais que peut-être quelqu'un sait ? Merci