Macro qui soubresaute

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Je m'escrime, depuis un moment, à réaliser une saisie pour une base de données simple.
Ça marche presque bien, mais une macro, lors d'un certain type de tri, soubresaute.
C'est plus clair sur la PJ.

Merci pour m'aider à solutionner cet agaçant problème visuel.
 

Pièces jointes

Re : Macro qui soubresaute

Hola Magic_doctor

Essaye comme ça avec le code
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Application.ScreenUpdating = False

If Not Application.Intersect(Target, Range("TitreListeItems")) Is Nothing Then
    ActionTitreListeItems
End If
'Application.ScreenUpdating = True
End Sub

@13GIBE59 : c'est justement ça la source du problème 😉

A+
 
Re : Macro qui soubresaute

Bonsoir 13Gib59, BrunoM45,

J'ai, bien sûr, tenté de mettre "Application.ScreenUpdating = False" un peu partout pour voir, mais comme ça ne marchait jamais, je les ai tous virés.
Bruno, tu as vu juste, effectivement quand on vire "Application.ScreenUpdating = False" dans "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" ça marche. Seulement voilà, si je l'avais mis c'est pour pouvoir cliquer plusieurs fois de suite sur la cellule qui déclenche la macro événementielle, sans devoir, entre 2 clics successifs, cliquer sur une autre cellule.
Donc en réglant un problème, un autre, certes mineur, réapparaît.
Comment résoudre les 2 problèmes ?
 
Re : Macro qui soubresaute

Bonjour Magic_Doctor, salut Jean-Bernard, Bruno,

😕😕 Tu avais exactement le même problème sur ce fil :

https://www.excel-downloads.com/threads/un-plop-visuel-qui-surprend-chaque-fois-ma-retine.201355/

Même punition :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False 'à conserver
If Not Application.Intersect(Target, Range("TitreListeItems")) Is Nothing Then
  ActionTitreListeItems
End If
'Application.ScreenUpdating = True 'à supprimer
End Sub
A+
 
Re : Macro qui soubresaute

Bonsoir job,

Tu as tout à fait raison.
Je dois avouer que "Application.ScreenUpdating" réserve parfois des surprises (en tout cas pour moi...). Quand elle est "False" il faut théoriquement par la suite la déclarer comme "True"...
Bon, maintenant ça a l'air de marcher sans problème.
Encore une fois merci job de m'avoir sorti de cette impasse.

Muy buenas noches a todos.
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
463
Retour