Microsoft 365 affichage curieux pendant l'exécution d'une macro

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous :)

Je reviens pour un p'tit souci d'affichage à l'exécution d'une macro.
Ce souci n'est pas gênant quant au fonctionnent du fichier mais c'est plutôt désagréable :
Vous le verrez avec la photo ci-dessous, l'affichage feuille est normal au départ :
avant_lancement_macro.jpg

Mais quand je clique sur le bouton recherche, voici ci-dessous le nouvel affichage :
après_lancement_macro.jpg

J'utilise un code incluant comme vous le voyez la recherche Find.
Toutefois, dès que l'objet de la recherche est collé dans "Find", l'affichage redevient normal.
Comme je le dis plus haut, ce n'est pas gênant au niveau fonctionnel mais gênant à la vue.

Auriez-vous déjà rencontré ce souci ?
Si quelqu'un a une idée pour empêcher cet affichage intempestif, je suis preneur :)

Curieusement, lorsque j'exécute la macro à partir du code dans vba .... ça ne se produit pas.
Je ne sais pas si je pourrai reproduire le souci dans un fichier test mais si besoin, j'essaierai d'en faire un.
Merci déjà pour m'avoir lu.
Je vous souhaite une bonne fin de journée,
Prenez soin de vous,
lionel,
 

TooFatBoy

XLDnaute Barbatruc
C'est pour cela que j'avais bien précisé ;)
Mon VBA ne connait pas ActiveRows (de manière native)
"L'avantage", c'est que cette erreur ne génère pas d'erreur mais renvoie n'importe nawak ;)
La preuve ;)
OK, donc la réponse à ma question semble être "oui", ça aurait pu être une fonction si je comprends bien.

ActiveRows n'étant pas connu d'Excel, il doit être considéré par Excel comme étant une variable, et s'il n'y a pas d'Option Explicit, ça ne génère bien sûr pas d'erreur, je suppose.
 

TooFatBoy

XLDnaute Barbatruc
J'ai trouvé Marcel32 avait raison il fallait tout simplement placer :
Application.EnableEvents = False
Application.ScreenUpdating = False
J'avais bien parlé de ScreenUpdating sans être sûr, loin de là...
J'avais pensé aux événements, mais n'y comprenant pas grand chose, je n'avais pas abordé le sujet.

Enfin, je crois que le fait de ne pas utiliser les Activate et Select est plus efficace pour ce problème, et en plus ça fait tourner la macro plus rapidement. ;)
 

Staple1600

XLDnaute Barbatruc
Re

•>Marcel32
A force d'être confiné, on risque de finir con ;)
(je parle uniquement pour moi bien sûr ;))
La preuve ;)
VB:
Sub Pour_Marcel32()
Dim ActiveRows&, la_ligne_A_Marcel&
Application.Goto Cells(Application.RandBetween(1, 32), "S")
ActiveRows = ActiveCell.Row
la_ligne_A_Marcel = Rows(Val("Marcel32") + Val(Chr(51) + Chr(50))).Row 'pour le gag ;-)
MsgBox ActiveRows
MsgBox la_ligne_A_Marcel
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

•>arthour973
Si je précise
•>Pseudo
C'est que le message s'adresse à Pseudo
Donc le message#21 s'adressait à ?
;)

PS: Dans ce cas, change ta signature
"Seule la connerie de l'humain envers l'humain et son biotope en finira avec l'Humanité"
Ce qui sera une bonne chose pour Gaia ;)
(Oh zut, je viens de refaire une rechute de nihilisme)
 

Staple1600

XLDnaute Barbatruc
Re

•>Marcel32
Tu as testé ?
Parce que chez moi, la ligne à Marcel elle vaut 32 ;)
J'espère que tu faisais de l'humour ? T'es pas vexé pour de vrai, hein ?
Parce que le code du message#21 répondait en mode détente à ta question du message#16
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi