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 :

Nom variable des PJ


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de fabrication
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien de fabrication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Nom variable des PJ
    Bonjour,

    Je souhaite à partir d'un fichier Excel :

    - Enregistrer la feuille en PDF avec un nom variable
    - Créer un nouveau mail avec "destinataire", "objet" et "corps de texte" variable
    - Joindre le PDF de la feuille en cours avec un nom variable

    J'ai donc commencé à me creuser la soupière et j'arrive à :

    - Enregistrer la feuille en PDF avec un nom variable
    - Créer un nouveau mail avec "destinataire", "objet" et "corps de texte" variable
    - Joindre le PDF de la feuille en cours avec un nom variable

    Quelqu'un sait-il comment changer le nom de la pièce jointe ?

    Merci !!

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub SendWithAtt() 
     
    Dim Rep As Integer 
    i = [B7].Value 
    Rep = MsgBox("Voulez-vous envoyer le bon de commande chez " & i, vbYesNo + vbQuestion, "mDF XLpages.com") 
    If Rep = vbYes Then 
    ' ici le traitement si réponse positive 
    ' ... 
    Dim fichier As String 
    fichier = "D:\Moi\Desktop\zik\" & [E5].Value & "_" & [B3].Value 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fichier, _ 
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, OpenAfterPublish:=False 
     
     
    Dim olApp As Outlook.Application 
    Dim olMail As MailItem 
    Dim CurFile As String 
    Set olApp = New Outlook.Application 
    Set olMail = olApp.CreateItem(olMailItem) 
     
    CurFile = ThisWorkbook.Path & "\" & "MaFeuille.Pdf" 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CurFile, _ 
    Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=False 
    With olMail 
    .To = [L9].Value 
    .Subject = [E5].Value & "_" & [B3].Value 
    .Body = "Vous trouverez ci-joint le fichier PDF ..." 
    .Attachments.Add CurFile 
     
    .Display '.Send 
    End With 
    Else 
    ' ici le traitement si réponse négative 
    ' ... 
    End If 
     
    ' Effacer les variables objets 
    Set olMail = Nothing 
    Set olApp = Nothing 
    End Sub

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien de fabrication
    Inscrit en
    Février 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien de fabrication
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    C'est bon ! voilà ma solution si ça peut aider :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub SendWithAtt()
     
    Dim Rep As Integer
    i = [B7].Value
    Rep = MsgBox("Voulez-vous envoyer le bon de commande chez " & i, vbYesNo + vbQuestion, "mDF XLpages.com")
    If Rep = vbYes Then
    ' ici le traitement si réponse positive
    ' ...
    Dim fichier As String
    fichier = "D:\moi\Desktop\zik\" & [E5].Value & "_" & [B3].Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fichier, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
     
     
    Dim olApp As Outlook.Application
    Dim olMail As MailItem
    Dim CurFile As String
    Set olApp = New Outlook.Application
    Set olMail = olApp.CreateItem(olMailItem)
     
    With olMail
    .To = [L9].Value
    .Subject = [E5].Value & "_" & [B3].Value
    .Body = "Vous trouverez ci-joint le fichier PDF ..."
    .Attachments.Add ThisWorkbook.Path & "\" & [E5].Value & "_" & [B3].Value & ".Pdf"
     
    .Display '.Send
    End With
    Else
    ' ici le traitement si réponse négative
    ' ...
    End If
     
     
    ' Effacer les variables objets
    Set olMail = Nothing
    Set olApp = Nothing
    End Sub

Discussions similaires

  1. Utiliser des tableaux avec un nom variable
    Par Yokav dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 07/04/2011, 14h01
  2. [AC-2000] Attacher des fichiers excel aux noms variables
    Par Slici dans le forum Modélisation
    Réponses: 4
    Dernier message: 25/02/2009, 13h24
  3. Réponses: 3
    Dernier message: 05/12/2008, 23h14
  4. extraction de feuille avec des noms variables
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/11/2008, 16h26
  5. [thread] créer des queues à nom variable
    Par cnicolas dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2008, 22h07

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