Ecraser automatiquement un fichier

  • Initiateur de la discussion Initiateur de la discussion EXCELERATOR
  • 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 !

E

EXCELERATOR

Guest
Bonjour à tous,

Je reçois tous les jours un classeur excel dans ma boîte mail. ( donc 31 fois le rapport de mai, puis 30 fois le rapport de juin..)
J'ai une macro VBA (dans OUTLOOK) qui enregistre mes mails concernant les rapports directement dans un fichier de mon bureau ( merci MICHEL !).
Quand le classeur que je reçois par mail à le même nom que le classeur précédent(RAPPORTmai) , il enregistre le classeur en modifiant le nom ( 1-RAPPORTmai, puis 2-RAPPORTmai...31-RAPPORTmai)

Est-il possible d'écraser automatiquement le classeur précédent quand j'enregistre un classeur du même nom?

Merci
😀
 
Re : Ecraser automatiquement un fichier

Bonjour EXCELERATOR 🙂,
Peux-tu fournir le code utilisé ? Est-ce lui qui modifie le nom de fichier si le fichier est présent ? Sinon, tu peut récupérer le nom du fichier et l'écraser avec Kill, en l'enrobant d'un
Code:
On Error Resume Next
Kill Chemin & Fichier
On Error GoTo 0
Bonne journée 😎
 
Re : Ecraser automatiquement un fichier

Salut JNP
voilà les lignes de programmation de la macro dans OUTLOOK :

Private Sub Application_NewMail()
Dim olSpace As NameSpace
Dim olFolder As MAPIFolder, olInbox As MAPIFolder
Dim olMsg As MailItem
Dim pceJointe As Attachment
Dim y As Integer, x As Integer

Set olSpace = Application.GetNamespace("MAPI")
Set olInbox = olSpace.GetDefaultFolder(olFolderInbox)

'boucle sur tous les messages de la boîte de réception
For Each olMsg In olInbox.Items
'Vérifie le début du titre du message
If Left(olMsg.Subject, 40) = "Rapport journalier de fabrication " Then
'Vérifie s'il y a des pièces jointes
If Not olMsg.Attachments.Count = 0 Then
'boucle sur les pièces jointes
For y = 1 To olMsg.Attachments.Count
Set pceJointe = olMsg.Attachments(y)
x = x + 1
'Enregistre la pièce jointe sur le disque.
pceJointe.SaveAsFile "D:\Documents and Settings\Bureau\Rapports journaliers\" & x & "_" & pceJointe
Set pceJointe = Nothing
Next y
End If

End If
Exit For
Next
End Sub


Je vais essayer ta solution dès lundi!! le Week-end m'appelle !

Merci pour l'attention que tu portes à mon problème.
A très bientôt
 
Re : Ecraser automatiquement un fichier

Re 🙂,
D'après la macro, c'est le fait de garder tes messages dans la boîte de réception qui crées les numérotations. Si tu ranges tes messages dans un autre dossier, tu ne devrait plus avoir le problème.
Bon WE 😎
 
- 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

S
Réponses
2
Affichages
1 K
sylvain78b
S
Réponses
0
Affichages
2 K
I
Réponses
6
Affichages
2 K
I
Réponses
1
Affichages
2 K
bouhamed mohamed elmahdi
B
Retour