XL 2019 Effacer données cellule avec vba

Quicksland

XLDnaute Occasionnel
Bonsoir le forum ;)

Dans mon fichier un bouton "remise a zéro tableau" efface les données des cellules.

Mais je souhaiterai également que les données en question s'efface automatiquement 3 jours âpres la date de la cellule "B13"

Merci a tous 👍
 

Pièces jointes

  • 01 PN ASTUCE SIRENE MERCREDI.xlsm
    33.8 KB · Affichages: 8

Staple1600

XLDnaute Barbatruc
Re

@Quicksland
A la relecture, puisque tu parles d'automatisme, ceci devrait être plus conforme
Code:
Private Sub CommandButton1_Click()
Range("B13:B14,C16:O19").ClearContents
End Sub
Private Sub Worksheet_Activate()
If [B13] + 3 = Date Then
Range("B13:B14,C16:O19").ClearContents
End If
End Sub
Testé avec plusieurs feuilles visibles dans le classeur (cf Activate)
 

Quicksland

XLDnaute Occasionnel
Re

@Quicksland
A la relecture, puisque tu parles d'automatisme, ceci devrait être plus conforme
Code:
Private Sub CommandButton1_Click()
Range("B13:B14,C16:O19").ClearContents
End Sub
Private Sub Worksheet_Activate()
If [B13] + 3 = Date Then
Range("B13:B14,C16:O19").ClearContents
End If
End Sub
Testé avec plusieurs feuilles visibles dans le classeur (cf Activate)
Bonsoir @Staple1600

J'ai inscrit la date du 20/06/24 en "B13"

J'ai changer la date de mon ordinateur au 24/06/24 et a l'ouverture du fichier les données sont toujours visible :rolleyes:
je souhaiterai que les données n'apparaisse plus 3 jours après la date en "B13"

mais je souhaiterai que le bouton fonctionne pour effacer manuellement avant les 3 jours

Merci pour ton aide ;)
 

Staple1600

XLDnaute Barbatruc
Re

@Quicksland
Pour tester, j'ai mis la date du 19/06/24 et comme précisé il faut qu'il y ait d'autres feuilles visibles que la feuille MERCREDI
J'ai donc ajouté une feuille vierge
C'est cette feuille la feuille active, si je sélectionne la feuille MERCREDI, les données sont bien effacées automatiquement

EDITION:
Bonjour @job75
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Quicksland, JM,

Il faut que l'effacement se fasse même s'il n'y a qu'une feuille ou qu'on ne change pas de feuille.

On peut mettre ce code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Application.OnTime Sheets("MERCREDI").[B13] + 3, Me.CodeName & ".Efface"
End Sub

Sub Efface()
Sheets("MERCREDI").[B13,C16:O19] = ""
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
315 096
Messages
2 116 182
Membres
112 677
dernier inscrit
Justine11