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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #19288781
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" 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




Mgr T. Banni
Le #19290011
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" 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" 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


Patrick BASTARD
Le #19291231
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" 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





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


"Patrick BASTARD" 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" 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








MichDenis
Le #19292381
Il n'y aucune possibilité d'atteindre le projetVBA d'un fichier
sans ouvrir ce dernier.
Mgr T. Banni
Le #19292601
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" %
| 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
'------------------------------------





Publicité
Poster une réponse
Anonyme