Kill tout les fichiers excel ....

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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!!!
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Réponses
7
Affichages
373
Réponses
2
Affichages
214
Retour