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 ?