Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 [Résolu] Suppression fichier répertoire impossible

Lone-wolf

XLDnaute Barbatruc
Bonsoir à tous

Avec la macro ci-dessous, je n'arrive plus à supprimer le fichier. Pourriez-vous me dire ce qui cloche?

VB:
Option Explicit

Sub Envoi_Mail()
Dim Chemin, Nom As String, Rep As String
Dim OlApp As Object
Dim OlMail

        [A1:I23].Copy
        Chemin = ThisWorkbook.Path & "\Fichiers\"
        Nom = "Notes élèves.xls"
        ActiveSheet.SaveAs Chemin & Nom, xlExcel8, False

    Set OlApp = CreateObject("Outlook.Application")
    Set OlMail = OlApp.CreateItem(0)
   

    With OlMail
        .To = "toto@yahoo.fr"
        .Subject = "Rapport Élèves"
        .Body = "Bonjour"
        .Attachments.Add Chemin & Nom
        .Display
    End With

        ActiveWorkbook.Save
        Application.Quit
       
        On Error Resume Next
        Application.DisplayAlerts = False
       
        Rep = Dir(Chemin & "*.*")
        Do While Rep <> ""
            Kill  Chemin & Rep
            Rep = Dir
        Loop
       
        OlApp.Quit
        Set OlMail = Nothing
        Set OlApp = Nothing
       
End Sub
 

Roland_M

XLDnaute Barbatruc
re

mais ici: Chemin = ThisWorkbook.Path & "\Fichiers\"
le rep Fichiers existe bien ?

tu mets en rem On Error Resume Next
ainsi que Application.Quit < je pense que c'est ceci ! car il n'y a pas de suite !
tu verras peut être bien l'erreur !?

et ici Kill Chemin & Rep
à la place de kill tu mets msgbox pour voir !?
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re Roland,

Oui. Le classeur source est dans le premier dossier et la feuille vas dans le dossier Fichiers.

Voilà ce qui ce passe: je copie la feuille, le classeur s'affiche, puis viens Outlook et il est bien dans PJ, mais le nouveau classeur est toujours ouvert; une fois fermé outlook le classeur se ferme aussi.
 

Roland_M

XLDnaute Barbatruc
re

je viens de faire un essai et c'est bien Application.Quit qui termine l'exécution de la macro !
c'est ce que j'avais mis puis supprimé dans mon premier message !
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
re

ce qui ne va pas c'est que tu exécutes une routine dans un même classeur
qui est l'origine et qui devient le nouveau classeur que tu sauvegardes
puis que tu veux fermer puis supprimer alors que la macro est présente dans ce même classeur !?
c'est impossible ! le code dois être dans un classeur séparé !
pour cela tu dois travailler autrement !
il te faut reprendre tout depuis le début !

j'ai fais l'essai, j'ai "classeur1" qui devient "Notes élèves.xls"
de ce fait le reste ne peut plus être applicable !

EDIT:
tu exécutes ta macro aux pas à pas avec F8 tu suis bien le déroulement
et le nom du classeur que tu verras changer et tu comprendras !
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re Roland

C'est évident. Moi qui m'entête à utiliser le même... deux paires de baffes!

EDIT: En exécutant la macro avec un tierce classeur, tout est OK.
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…