Kill tout les fichiers excel ....

  • Initiateur de la discussion Scoy
  • Date de début
S

Scoy

Guest
dans un dossier contenant dans leurs nom "x"...
Comment qu'on fait ça??

Merci
 
S

Scoy

Guest
A l'ouverture d'un fichier excel, j'ai mis dans Workbook_Open
Dim Fichier As String

Fichier = "X " & Format(Date, "d mmmm yyyy") & ".xls"
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Fichier
Il me fais une copie qui n'a plus son nom de départ, donc l'ancien fichier est toujours là.

Mais je voudrais qu'il éfface aussi l'ancien....mais son nom est variable....,

J'espère avoir été plus clair.
Merci
 
M

myDearFriend

Guest
Bonsoir Scoy, Lea, le Forum.

Le code ci-dessous devrait convenir :

Private Sub Workbook_Open()
Dim AncFichier As String
Dim Fichier As String

'Mémorise le nom d'origine du fichier ouvert
AncFichier = ThisWorkbook.FullName
'Détermine le nouveau nom
Fichier = ThisWorkbook.Path & "\" & "X " & Format(Date, "d mmmm yyyy") & ".xls"
'Si le nom a changé (=> si la date a changé depuis la dernière ouverture)
If Fichier <> AncFichier Then
ThisWorkbook.SaveAs Filename:=Fichier
'Détruit la version précédente
Kill AncFichier
End If
End Sub



Cordialement,
Didier_mDF
 
S

Scoy

Guest
Petite colle en-plus....
J'aimerais dans mon fichier(Fichier), récuperer la valeur d'une cellule(G18) de la feuille "y" du fichier précedent(avec la date de la veille(AncFichier)).....!!!!
Forcément le nom du fichier change..... "X date", mais c'est toujours date actuel -1....(on l'ouvre tout les jours..)
Tout ça évidement avant l'éffacement du fichier AncFichier !!


Pas facile tout ça....

Merci si tu trouve!!!
 
M

myDearFriend

Guest
Bonjour Scoy,

Ben là, j'avoue que je ne comprends pas ta question Lol....


Je reprends :

A l'ouverture du classeur, tu souhaites le renommer en le sauvegardant sur le disque avec un nouveau nom et en supprimant la version précédente... Jusque là, pas de problème.

Maintenant, tu me dis que tu souhaiterais récupérer la valeur d'une cellule (G18) de la feuille "y" du fichier précédent.... avant l'effacement de l'ancien fichier !
Mais (sauf erreur de compréhension de ma part), au moment où se termine ta procédure Workbook_Open(), la feuille "y" et la cellule (G18) sont encore là !
Même si le fichier vient de changer de nom, à ce moment là, aucune modification n'a encore été effectuée dans le classeur !

Bon... si tu tiens absolument à récupérer la valeur en G18 de la feuille "y" sur l'ancienne version du fichier avant sa destruction :

Private Sub Workbook_Open()
Dim AncFichier As String
Dim Fichier As String

Dim V as Variant
'Mémorise la valeur de la cellule cible
V = ThisWorkbook.Sheets("y").range("G18").value


'Mémorise le nom d'origine du fichier ouvert
AncFichier = ThisWorkbook.FullName
'Détermine le nouveau nom
Fichier = ThisWorkbook.Path & "\" & "X " & Format(Date, "d mmmm yyyy") & ".xls"
'Si le nom a changé (=> si la date a changé depuis la dernière ouverture)
If Fichier <> AncFichier Then
ThisWorkbook.SaveAs Filename:=Fichier
'Détruit la version précédente
Kill AncFichier


'Affiche la valeur mémorisée
MsgBox "La valeur G18 de la feuille ""y"" était : " & V



End If
End Sub



Cordialement,
Didier_mDF
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz