IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Changer nom de la pièce jointe Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Par défaut Changer nom de la pièce jointe Excel
    Bonjour,

    j'aimerais ajouter un petit détail à ma macro.
    Je désire envoyer ma feuille active par mail par le biais d'un bouton, jusque là OK. J'ai bien mon outlook qui s'ouvre, mon titre de sujet, et ma pièce jointe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub envoiMailEtFeuilleActive()
    '
    '
    '
    ActiveSheet.Copy ' crée une copie de la feuille active
    Recipients = Array("")
    ActiveWorkbook.SendMail Recipients, Subject:="Fichier Demande" 'envoi Mail
    MsgBox "Votre fichier a bien été envoyé dans Outlook."
    Application.DisplayAlerts = False
    ActiveWorkbook.Close ' supprime le classeur créé après l'envoi
    Application.DisplayAlerts = True
    Shell "C:\Program Files\Microsoft Office\Office11\OUTLOOK.EXE"
    End Sub

    Par contre, mon fichier joint dans outlook se nomme classeur1.xls

    Est-il possible de lui affecter un autre nom par défaut. Car mon classeur se nomme Demande et mon onglet se nomme Demande également. Donc j'aimerais avoir ce mot comme pièce jointe : demande.xls au lieu de classeur.xls

    est-ce possible ?

    merci d'avance.

  2. #2
    Membre éclairé Avatar de gnusti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 55
    Par défaut
    Bonjour,

    De manière simple, tu peut enregistrer ton classeur actif (ActiveWorkbook.SaveAs...) et une fois ton fichier envoyé (il devrait avoir le bon nom cette fois) et ton classeur fermé, tu fait un kill "leChemin\Demande.xls" pour ne pas polluer...

    Il doit y avoir une autre solution mais je n'ai pas cherché

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 30
    Par défaut
    Bonjour, merci de ta réponse.

    Etant débutante en macro, peux tu m'aider ou dois je placais ce save as, et le kill svp ?

    merci d'avance.

  4. #4
    Membre éclairé Avatar de gnusti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 55
    Par défaut
    Alors pour le saveAs, tu peut le mettre entre
    ActiveSheet.Copy ' crée une copie de la feuille active
    et
    Recipients = Array("")

    et le kill en dernier

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Je crains que les infos données par gnusti soient encore un peu trop vagues

    Teste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub envoiMailEtFeuilleActive()
    Dim Nom As String
     
    Application.ScreenUpdating = False
    ActiveSheet.Copy ' crée une copie de la feuille active
    Recipients = Array("")
    With ActiveWorkbook
        Nom = "C:\Temp\" & .Sheets(1).Name & ".xls"
        .SaveAs Nom
        .SendMail Recipients, Subject:="Fichier Demande" 'envoi Mail
        MsgBox "Votre fichier a bien été envoyé dans Outlook."
        Application.DisplayAlerts = False
        .Close False ' ferme le classeur créé après l'envoi
    End With
    Application.DisplayAlerts = True
    Shell "C:\Program Files\Microsoft Office\Office11\OUTLOOK.EXE"
    Application.ScreenUpdating = True
    Kill Nom ' supprime le classeur créé après l'envoi
     
    End Sub

  6. #6
    Membre éclairé Avatar de gnusti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 55
    Par défaut
    Merci fring pour le complément

    Je suis en plein boulot donc j'ai juste eu le temps de donner la piste

Discussions similaires

  1. [Sage X3 V5] Changer le nom de la pièce jointe
    Par MARCELBENH dans le forum SAGE
    Réponses: 4
    Dernier message: 31/01/2019, 11h12
  2. [OL-2007] Changer le nom de la pièce jointe à enregistrer
    Par Secco dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 19/11/2010, 13h00
  3. [XL-2003] Répondre à un mail dont on vient d'ouvrir la pièce jointe Excel
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/04/2010, 18h43
  4. Nom de la pièce jointe incomplet dans le mail reçu
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2009, 16h46
  5. Nom d'une pièce jointe qui change en .dat avec Indy
    Par stanislas dans le forum Web & réseau
    Réponses: 4
    Dernier message: 24/03/2009, 15h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo