Interface VBA pour renommer/envoyer fichier

RaiM -  
 RaiM -
Bonjour


Je souhaiterais mettre en place une interface comme celle ci-joint ( http://imageshack.us/photo/my-images/197/baucheformulairecheckli.png ), qui permettrait de renommer le fichier mis en pièce jointe, en fonction des paramètres rentrés dans les différents champs, de la façon suivante :
Champs N°1_Champs N°2_Catégorie_Date_Nom.pdf


En cliquant sur envoyer, ce fichier serait mis en pièce jointe d'un message à destination d'une adresse mail (réception de tous les fichiers), avec comme titre de message « Retour fichiers», et avec ou sans corps de message. Si aucune connexion internet n'est disponible, le message irait dans la boîte d'envoi.


Pourriez-vous m'aiguiller sur les différentes fonctions utiles, car après plusieurs heures de recherches sur internet, je m'égare entre les userform etc...


Par avance, merci ! ; )


Bonne fin d'après midi.
A voir également:

6 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Renommer un fichier en pièce jointe n'est pas possible, tu doit d'abord le copier sous un autre nom dans un répertoire temporaire par exemple.
Et éventuellement le supprimer après envoi.
Pour ça voir CopyFile.
Pour le supprimer voir Kill
Pour envoyer un mail il y a un tas d'exemple sur la toile.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
1
RaiM
 
Bonjour,

tout d'abord désolé pour le retard de réponse.
Les éléments dont tu me parles plus haut m'aident à éclaircir mon problème, j'ai trouvé sur l'aide de visual basic une procédure pour faire un copyfile directement dans "Inbox" de Outlook. Cependant, comment faire en sorte que les paramètres rentrés dans les champs de ma "fenêtre" soient pris en compte dans le nom du double de mon fichier ?

Merci encore.
Bonne journée !
0
RaiM
 
Bonjour,

j'ai pris exemple sur ton code pour modifier quelques variables invalides, telles que:

        appOutLook = New Microsoft.Office.Interop.Outlook.Application 'définition d'appOutLook
        outlookEmail = appOutLook.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) 'définition d'outlookEmail


Cette partie de mon programme est maintenant parfaitement opérationnelle, il faut juste que je click yes pour l'envoi du message, mais ce n'est qu'un léger détail. Qu'entends-tu par utiliser des textbox ? Faire apparaître des box une à une pour rentrer les détails d'envoi ?

merci de ton aide ;)
Bonne journée !
1
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Cependant, comment faire en sorte que les paramètres rentrés dans les champs de ma "fenêtre" soient pris en compte dans le nom du double de mon fichier ?
Je ne comprend pas ce que tu veux dire.
0
RaiM
 
comment faire en sorte que les cases présentées dans mon schéma (sur le premier message), influent sur le nom de mon fichier ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
L'image que tu montre c'est sur une feuille Excel ?
0
RaiM
 
non, c'est une image qui représente la fenêtre que je voudrais, une interface utilisateur en quelques sortes
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Beh oui, mais sur quel appli ????
0
RaiM
 
Toutes mes excuses, je suis un peu fatigué... sur excel ;)
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Ont avance, sur une feuille ou un UserForm ?
0
RaiM
 
un Userform
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Maintenant je pense que c'est ça que tu a besoin..
'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
Sub EnvoiMail()
Dim ObjOutlook
Dim oBjMail
   
   Set ObjOutlook = New Outlook.Application
   Set oBjMail = ObjOutlook.CreateItem(olMailItem)
   With oBjMail
        .To = "BoitMail@gmail.com" 'le destinataire
        .Subject = "Ici c'est l'objet, le titre"  'l'objet du mail
        .Body = "Ici le texte du mail "  'le corps du mail ..son contenu
        .Attachments.Add Fichier '"C:\temps\Nomfichier.ppt" ' le chemin + Nomfichier + extention
        .Display 'ont peut supprimer cette ligne pour l'envoyer sans vérification
        .Send
    End With
    
    ObjOutlook.Quit
    Set oBjMail = Nothing
    Set ObjOutlook = Nothing
    
End Sub

Tu remplace les données fictive par tes textbox.
A+
0