|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
Bonjour à tous,
Voici mon problème, je dois concevoir une macro en VBA (sous excel) qui extrait des pièces attachées de mails sur Outlook dans un fichier spécifique défini dans une autre feuille Excel. J'ai cherché partout, je trouve quelque bout de codes par-ci par-la mais rien qui m'aide réellement. Voici ce que dois faire la macro : Un fichier excel contant dans la feuille "Menu" le bouton qui lance la macro OutLookPJExtract (par exemple) et une autre feuille "Reference" qui contient en colonne "C" les extention des senders et en colonne "D" le dossier de destination. Voila en gros comment ça se présente : ColA | ColB | ColC | ColD | x x Free.fr Free x x Hotmail.fr Hotmail Donc, tout ça je l'ai deja. La boite Outlook : J'ai plusieurs folder. Maboite / Inbox (principal et par defaut) ------- MaboitePJ / EmailRecus Les emails en question se trouve donc dans cette 2eme boite. Le code type : ns.GetDefaultFolder(olFolderInbox) ne fonctionne donc pas. La macro qui enregistre les PJ : Donc dans les grandes lignes = La macro check chaque mail dans la boite email donnée puis par email, elle prend le nom du sender (extension de l'adresse mail après le "@") Par exemple un code comme ça : (ou tmp est la variable qui stock le sender de l'email) tmp = Mid(Sender(0), InStr(1, Sender(0), "@") + 1, Len(Sender(0)) - InStr(1, Sender(0), "@") - 1) Elle détache le ou les pièces jointes dans le repertoire qui porte le nom du répertoire contenu dans la feuille Excel "Reference" par exemple "email@free.fr" a envoyé un mail avec une piece jointe "x.txt" La macro prends l'extension (free.fr) le cherche dans la colonne C de la feuille "Reference" et enregistre en variable le repertoire en Col "D" qui est Free (pour ce cas) Je m'arrangerais pour faire les variable des destinations [c:\mesdocs\PJ(VarRef)] Et pour finir la macro génére une liste au format test (txt) avec le chemin complet de chaque element sauvegardé. c:\mesdocs\PJ\Free\x.txt c:\mesdocs\PJ\Hotmail\fdx.csv etc etc. La macro pourrat supprimer le mail apres traitement. Je suis vraiment désolé de demander autant de chose mais rien a faire, j'arrive pas a embriquer les procédures. Et puis pilotez Outlook a travers Excel je connais pas du tout. Merci enormement aux personnes qui pourront m'aider. Si vous avez besoin de plus d'information n'hésitez pas à me demander. |
|
|
00
|
|
|
#2 | |
![]() ![]() Thierry Inscription : septembre 2002 Messages : 3 670 ![]() |
Citation:
Et la prochaine fois, poste dans le bon forum, Merci !
__________________
Vous vous posez une question, la réponse est peut-être ici : Toutes les FAQs VB Les Cours et Tutoriels VB6/VBScript Les Sources VB6 Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension MioSkins.org : le site de référence pour GPS et PDA Mitac MIO iPHONIX.fr : le must francophone des infos pour iPhone, iPad, ... |
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
Désolé pour la mauvaise section.
Voici par exemple un code qui fonctionne pour la boite par defaut et qui detache la pièce jointe dans le meme repertoire Code :
Et je n'arrive pas a générer la liste TEXTE qui contient le chemin de chaque pieces détachés. Et de plus, elle genre un sous dossier du Folder par default de ma boite (mon compte Inbox) et les mails en question se trouvent dans Un autre compte / Inbox / EmailPJ) et j'arrive pas a changer ça. En sachant egalement que j'enleverai toute les messages box car a la fin le programme tournera seul. |
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
J'ai trouvé une méthode différentes mais c'est vraiment du bricolage. Je peux pas mettre cette macro en production.
Je reste donc toujours ouvert à de l'aide pour le code. Le truc qui me bloc le plus pour le moment c'est comment diriger la macro dans un folder specifique de Outlook qui n'est pas l'Inbox(ou un de ses sous dossier) Principal. Il y a 2 compte differents sous la meme session outlook Un compte Inbox Personnel Un compte OutPJ ou je recois les emails necessaire a la macro. Deja cette étapes serai une grande aide pour moi Merci a tous de vos réponse |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
Bonjour à tous,
J'aimerais savoir indiquer sous VBA (Excel) un autre répertoire Outlook que l'inbox par defaut. J'ai 2 comptes différents sour Outlook, le 1er mon inbox personnel (et sous répertoire) et le 2eme inbox "autrecompte" (et sous repertoire) J'ai chercher partout mais tous les codes trouvés pointent dans le dossier Inbox (et sous repertoire) du la boite par defaut. Le code : Set inbox = ns.GetDefaultFolder(olFolderInbox) Set subfolder = inbox.Folders("emailPJ") Indique donc le compte inbox par defaut et le sous repertoire emailPJ Et bien j'aimerais juste changer le compte par defaut et lui indiquer de bosser dans l'autre compte. Merci de votre aide Bonne journée |
|
|
00
|
|
|
#6 | ||
|
Membre habitué
![]() Inscription : février 2003 Messages : 90 ![]() |
Bonjour,
Essaye ceci : Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
Prière de ne pas ouvrir 2 discussions pour un même problème!
Discussions fusionnées.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
Merci Wape de ta réponse. Ca m'a fait progresser mais malheuresement il ne veux toujours pas aller dans l'autre compte.
Je suis sur un reseau d'entreprise, j'ai outlook 2003 avec mon compte personnel et j'ai ajouté la mailbox necessaire a mon travail. Appelons la "Mailbox - FabTAFF" dans cette mailbox j'ai : "Inbox" et en sous repertoire(de Inbox) j'ai "Email PJ Recu" J'ai essayé plusieur truc mais rien a faire. |
|
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() Inscription : février 2003 Messages : 90 ![]() |
Bonjour,
Et comme ceci ? Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juillet 2005 Messages : 20 ![]() |
Enorme merci a Wape pour ton aide, cela m'a permis de comprendre.
J'ai adapté ton bout de code en une seule ligne et tous passe a merveille Pour info voila ce que j'ai mis : Code :
Set inbox = ns.Folders("Mailbox - Perso").Folders("Inbox").Folders("Test FC") Bonne soirée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com