Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook

Réponse
 
Outils de la discussion
Vieux 16/04/2008, 13h01   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut creer un dossier dans outlook par VBA Excel

Bonjour,

Je souhaite que ma macro VBA (excel) génére automatiquement un dossier (folder) sous la racine "Archive folder" (voir pièce jointe).

Merci
Guy68
Images attachées
Type de fichier : jpg Archive-folder.jpg (8,4 Ko, 4 affichages)
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/04/2008, 09h48   #2 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
Par défaut

Salut
Et Où bloques tu ?
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/04/2008, 15h04   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut

Je bloque à l'adresse de mon dossier.
Pour le dossier en question j'ai l'adresse : outlook:\\Archive Folders
Donc j'ai fait un truc du genre

Code :
mkdir "outlook:\\Archive Folders\" & "nouveau_dossier"
Et ça marche pas.

T'as une idée ?
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/04/2008, 15h07   #4 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
Par défaut

mkdir c'est pour créer dans un dossier WINDOWS SUR UN DISQUE.

essaye pluto avec :

Code :
Dim NS As NameSpace
    Set NS = Application.GetNamespace("MAPI")
    Dim dossier As MAPIFolder
    Set dossier = NS.Folders("Archive Folders")
    Dim myNewFolder As MAPIFolder
    'Set myNewFolder = dossier.Folders.add("Test")
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 07h21   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut

Salut,

La macro bloque sur Namespace.
C'est une routine que je veux faire à partir d'excel. Je ne sais pas si cela a de l'importance.

a+
guy68
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 09h24   #6 (permalink)
Membre régulier
 
Date d'inscription: août 2007
Localisation: France, Paris
Messages: 136
Envoyer un message via MSN à Laurent CUENET Envoyer un message via Skype™ à Laurent CUENET
Par défaut

Bonjour,


ajoute la référence à Outlook.
Laurent CUENET est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 09h25   #7 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
Par défaut


Un peu mon neveu

Si tu designes outlook.application par monOutlook
remplace ainsi

Set NS = monOutlook.GetNamespace("MAPI")

Est ce que cela fonctionne ?
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 10h59   #8 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut

Salut,

Voilà mes lignes de code :

Code :
Dim ns As Namespace
Set ns = monOutlook.GetNamespace("MAPI")
Dim dossier As MAPIFolder
Set dossier = ns.Folders("Archive Folders")
Dim myNewFolder As MAPIFolder
    'Set myNewFolder = dossier.Folders.add("Test")
Pour l'instant sans succès

Il me renvoie l'erreur : user-defined type not defined

a+
Guy68
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 11h12   #9 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
Par défaut

Guy, comme l'a précisé Laurent il faut ajouter une référence ou pas cela dépend du code :

Code :
Sub test()
'ajouter une référence dans outils / références / "microsoft outlook xx.0 object library"
Dim monOutlook
Set monOutlook = Outlook.Application
Dim ns As Namespace
Set ns = monOutlook.GetNamespace("MAPI")
Dim dossier As MAPIFolder
Set dossier = ns.Folders("Archives Olivier")
Dim myNewFolder As MAPIFolder
Set myNewFolder = dossier.Folders.Add("Test")
 
End Sub

Code :
Sub test_latebinding()
Dim monOutlook As Object
Set monOutlook = CreateObject("Outlook.Application")
Dim ns  As Object
Set ns = monOutlook.GetNamespace("MAPI")
Dim dossier As Object
Set dossier = ns.Folders("Archives Olivier")
Dim myNewFolder  As Object
Set myNewFolder = dossier.Folders.Add("Test")
 
End Sub
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 12h03   #10 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut

Salut,

J'ai utilisé les lignes suivantes :
Code :
Dim monOutlook As Object
Set monOutlook = CreateObject("Outlook.Application")
Dim ns  As Object
Set ns = monOutlook.GetNamespace("MAPI")
Dim dossier As Object
Set dossier = ns.Folders("outlook:\\Archive Folders\")
Dim myNewFolder  As Object
Set myNewFolder = dossier.Folders.Add("Test")

ça passe jusqu'à la ligne de l'adresse du dossier (outlook:\\Archive Folders\) dans lequel je veux créer un nouveau dossier ("Test").
J'ai obtenu cette adresse en rajoutant la bare de menu WEB dans outlook.
J'ai comme l'impression que c'est pas bon.

a+
Guy68
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/04/2008, 15h13   #11 (permalink)
Membre éprouvé
 
Avatar de Oliv-
 
Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
Par défaut

Avec la syntaxe de départ cela ne fonctionne pas ?

Code :
Set dossier = NS.Folders("Archive Folders")
moi j'avais mis "Archives Olivier" parce que je n'ai pas de dossier portant le même nom que le tien.
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/04/2008, 07h33   #12 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: avril 2008
Messages: 19
Par défaut

Et en plus ça marche. Génial

Merci Oliv- pour ta collaboration.

A une autre fois.

Guy68
guy68 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Outlook > VBA Outlook

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide