Eviter le clignotement causé par le rafraichissement

Bonjour,

J'ai un code qui se rafraichit chaque 5s pour détecter les nouveaux mails sur ma boite de réception Outlook, le rafraichissement se fait par ces deux lignes :

ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:05"), "Auto_Open"

En état normal le code fonctionne bien et chaque 5s le curseur clignote (qui est normal car même lorsqu'on fait F5 le curseur clignote)

Sauf que si je supprime un mail de ma boite de réception Outlook, ça cause un problème sur ma base de données sur Excel :

La ligne de ce mail ne sera pas également supprimée mais elle duplique la ligne du mail précédant x2

Par Example j’ai 3 mails sur ma boite de réception Outlook et ils ont été détecté par mon code sur Excel comme suit :

Mail A, Date du mail A

Mail B, Date du mail B

Mail C, Date du mail C

Supposant j'ai supprimé le mail C (seulement de ma boite de réception Outlook)

Ce qui sera affiché sur mon Excel c’est :

Mail A, Date du mail A

Mail B, Date du mail B

Mail B, Date du mail B

Il prend les mêmes détails de la ligne du mail précédant.

Pour éviter ça j'ai pensé à ajouter cette condition au début de mon code pour supprimer toutes les lignes de la feuille Excel avant de les détecter à nouveau à partir de la boite de réception Outlook (Avec leur nouvel état soit j'ai supprimé un mail ou pas)

Range("A2:C25").ClearContents

Maintenant à chaque rafraichissement toute la feuille Excel clignote au lieu de seulement le curseur,

car il supprime tout et puis rajoute tout, comment je peux éviter ce clignotement svp ?

Moi j'ai pensé à cette idée : il supprime tout seulement dans le cas où il trouve une ligne dupliquée (les mêmes détails du mail précédant), mais elle ne fonctionne pas car je n'arrive pas à bien l'écrire correctement

If ((Range("Date").Offset(i, 0).Value) = (Range("Date").Offset(i + 1, 0).Value)) Then

Range("A2:C25").ClearContents

End If

Est-ce que vous pouvez m'aider à la rectifier ou bien me donner une autre méthode pour éviter ce clignotement de la feuille svp ?

Bonjour,

Ajoutez ceci au tout début de la macro

    Application.ScreenUpdating = False

Cdlt

Re,

Merci beaucoup

Rechercher des sujets similaires à "eviter clignotement cause rafraichissement"