Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MOYEN D'EFFACER A UNE DATE PRECISE LE CONTENU D'UN FICHIER EXCELL

6 réponses
Avatar
Aline
Bonsoir,

connaissez vous un moyen d' effacer, par une macro ou autre méthode, le
contenu d'un fichier Excel à une date précise?

il faut bien sur que le script soit a intérieur du fichier en question...

merci

Bonne soirée

Aline

6 réponses

Avatar
Jacky
Bonsoir,

Par exemple , à l'ouverture du classeur
A mettre dans le thisWorkbook du classeur en question
Efface le contenu de la feuille1 dans l'exemple si la date d'ouverture est
le "07/05/2009"
'------------
Private Sub Workbook_Open()
If Format(Date, "dd/mm/yyyy") = "07/05/2009" Then Feuil1.Cells.ClearContents
End Sub
'------------

--
Salutations
JJ


"Aline" a écrit dans le message de news:
4a0342be$0$15316$
Bonsoir,

connaissez vous un moyen d' effacer, par une macro ou autre méthode, le
contenu d'un fichier Excel à une date précise?

il faut bien sur que le script soit a intérieur du fichier en question...

merci

Bonne soirée

Aline




Avatar
Mgr T. Banni
eh ben, voici une proc pour laquelle mon entendement est dépassé...
qui a dit "ça ne m'étonne pas" là-bas au fond du presbytère?
Mgr T.B.
PS. et j'ai pleuré, pleuré, aline, pour qu'elle revienne....m'expliquer

"MichDenis" a écrit dans le message de news:
e%
Bonjour Aline,

Tu copies ceci dans le ThisWorkbook de ton classeur
et tu utilises le planificateur de tâche de Windows pour
faire exécuter ton fichier.
Choisis un moment de la journée où tu es certaine
que le fichier est fermé.

'----------------------------------------------
Private Sub Workbook_Open()

Dim X As Name
On Error Resume Next
Set X = ThisWorkbook.Names("EffacerFait")
If Err <> 0 Then
Err = 0
If Date = DateSerial(2009, 5, 7) Then
'appel de la procédure Effacer
ThisWorkbook.Names.Add "EffacerFait", 1
End If

End If

End Sub
'----------------------------------------------



"Aline" a écrit dans le message de groupe de
discussion : 4a0342be$0$15316$
Bonsoir,

connaissez vous un moyen d' effacer, par une macro ou autre méthode, le
contenu d'un fichier Excel à une date précise?

il faut bien sur que le script soit a intérieur du fichier en question...

merci

Bonne soirée

Aline


Avatar
Patrick BASTARD
Bonjour,

Retrouvé dans mes archives :

Private Sub Workbook_Open()
Dim VBC As Object

If Now() > 39940 Then '39941 = n° de série du 7/5/2009
Sheets("Feuil1").Select
Cells.Select
Selection.Clear
End If
[A1].Select
With ActiveWorkbook.VBProject

'cette partie du code est de Laurent Longre et permet de supprimer
la macro
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC
End With

End Sub

--
Bien ,

Patrick BASTARD
patrick.bastardchezdbmail.com
"Aline" a écrit dans le message de
news:4a0342be$0$15316$
Bonsoir,

connaissez vous un moyen d' effacer, par une macro ou autre méthode, le
contenu d'un fichier Excel à une date précise?

il faut bien sur que le script soit a intérieur du fichier en question...

merci

Bonne soirée

Aline





Avatar
Aline
et y a t'il un moyen de coller cette macro à plusieurs fichiers sans les
ouvrir un après l'autre?


"Patrick BASTARD" a écrit dans le
message de news:
Bonjour,

Retrouvé dans mes archives :

Private Sub Workbook_Open()
Dim VBC As Object

If Now() > 39940 Then '39941 = n° de série du 7/5/2009
Sheets("Feuil1").Select
Cells.Select
Selection.Clear
End If
[A1].Select
With ActiveWorkbook.VBProject

'cette partie du code est de Laurent Longre et permet de supprimer
la macro
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC
End With

End Sub

--
Bien ,

Patrick BASTARD
patrick.bastardchezdbmail.com
"Aline" a écrit dans le message de
news:4a0342be$0$15316$
Bonsoir,

connaissez vous un moyen d' effacer, par une macro ou autre méthode, le
contenu d'un fichier Excel à une date précise?

il faut bien sur que le script soit a intérieur du fichier en question...

merci

Bonne soirée

Aline








Avatar
MichDenis
Il n'y aucune possibilité d'atteindre le projetVBA d'un fichier
sans ouvrir ce dernier.
Avatar
Mgr T. Banni
merci, denis, mais je suis toujours dans l'impasse....pas grave, je n'annule
JAMAIS mon travail, moi : il est trop beau :-)
Mgr T.B.

"MichDenis" a écrit dans le message de news:
%
| voici une proc pour laquelle mon entendement est dépassé

Le principe est « simple » :
If Date = DateSerial(2009, 5, 7)
Cette ligne teste si à l'ouverture du fichier, la date de la journée
correspond à une date précise. L'usage de « DateSerial» c'est seulement
pour
s'affranchir des divers formats de date selon l'environnement où le
classeur
peut être ouvert. En utilisant le signe « = », j'espère que le fichier est
ouvert tous
les jours sinon le code risque de ne jamais s'exécuter!

Comme ce code ne doit s'exécuter qu'une fois, je crée un NOM
(insertion/nom/définir)
si le code s'exécute (effacement des données). L'objectif de ce nom est
d'empêcher le code de s'exécuter plus d'une fois. C'est ce pourquoi, la
macro teste la
présence de ce nom en premier lieu. Si le nom existe, la macro s'est déjà
exécutée.

J'aurais pu choisir de supprimer la macro comme le suggère Patrick, mais
si le projet VBA
est verrouillé, ce serait impossible d'exécuter le code. Voilà.

'------------------------------------
Private Sub Workbook_Open()

Dim X As Name
On Error Resume Next
Set X = ThisWorkbook.Names("EffacerFait")
If Err <> 0 Then
Err = 0
If Date = DateSerial(2009, 5, 7) Then
'appel de la procédure Effacer
ThisWorkbook.Names.Add "EffacerFait", 1
End If

End If

End Sub
'------------------------------------