Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2006, 16h17   #1
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Par défaut [VBA-O] Automatisation tâches Outlook

Bonjour à tous,

je voudrais automatiser une série d'actions accesibles par les menus d'Outlook 2003, mais fastidieuses, grâce à une macro.

Mon problème est de simuler les actions de l'utilisateur sur les menus outlook. Est ce possible, ou faut il reprogrammer le code correspondant ?

Merci d'avance
Nicolas
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 16h38   #2
Membre à l'essai
 
Inscription : mars 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 103
Points : 21
Points : 21
Tu peux en effet le faire à l'aide des Sendkeys...

A+
alex_95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 19h13   #3
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Merci, je vais essayer de suivre cette piste....
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 19h16   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
on peu savoir les tâches à effectuer sous outlook ..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 09h43   #5
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Une mise à jour du carnet d'adresses par une importation de fichier .pst.

Je me suis mal exprimé dans mon premier post. Les sendkeys (d'après ce que je viens de lire sur le net) auraient été une solution au problème tel que je l'expose, mais ce n'est pas exactement ce que je veux obtenir. Je reformule donc :

L'action voulue (maj du carnet d'adresse) est accessible par les menus Outlook, mais je voudrais qu'elle se fasse de manière invisible pour l'utilisateur. Donc qu'il ne voie pas les menus se dérouler sous ses yeux... Je pense que cela suppose une manipulation directe des objets du carnet d'adresse, mais quels sont-ils ??? Existe-t-il un site expliquant clairement le rôle de tel ou tel objet Outlook ?

J'espère avoir été plus clair.
Merci d'avance
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 12h43   #6
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
personne ?

sinon, autre question : lorsqu'on supprime des contacts du carnet d'adresse (via une boucle for sur monDossier.Items.Count), comment se fait il que le dernier contact ne veut jamais s'effacer ? Ce n'est pas dû à un problême d'indice de boucle : on entre bien dans la dernière boucle, mais lorsque j'arrive à l'instruction monDossier.Items.Remove (i), rien ne se passe

Merci d'avance
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 15h44   #7
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
C'est génial, je fais les réponses tout seul

alors pour ceux que ça intéresse, le contact restant refusait de se supprimer car le nombre d'items diminue au fur à mesure des suppressions, donc il arrive un moment où mon indice de boucle, qui était bon pour le nombre d'items d'origine, ne pointe plus sur rien puisque les items se décallent au fur à mesure des suppressions. Solution : faire un boucle inversée :

for i = nbitems to 1 Step -1 do

Ca c'est fait....

Maintenant, reste toujours ma grosse question : comment importer, grâce à une macro VB, un dossier du carnet d'adresse situé dans un .pst différent du .pst utilisé par outlook (sinon, il n'y aurait pas à importer ). Et surtout, est ce faisable ? vu que le code outlook comme le format du .pst sont propriétaires microsoft...

pliz heeeeellllpppp !
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 16h04   #8
Membre confirmé
 
Avatar de repié
 
Inscription : décembre 2004
Messages : 336
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 336
Points : 243
Points : 243
Outlook, c'est Microsoft non?....

Donc, si tu veux un site d'infos , t'as regardé MSDN?
__________________
Pti Pié
repié est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 16h52   #9
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
oui, mais pour le moment, je n'y ai pas trouvé mon bonheur
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 16h58   #10
Membre confirmé
 
Avatar de repié
 
Inscription : décembre 2004
Messages : 336
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 336
Points : 243
Points : 243
j'ai trouvé quelques infos que tu devrai regarder (si tu m'as pas devancé)

parce que en fait, ton souci est de connaitre les objets en question, après quoi, les propiétés, méthodes.. se trouveront sur la doc officielle je pense.

http://vb.developpez.com/faq/?page=divoffice

on sais jamais, tu peux trouver des idées la...
__________________
Pti Pié
repié est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 09h12   #11
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Bonjour,

j'ai déja regardé, mais il propose une solution de traitement des données déja stockées dans l'arborescence de l'application, tandis que mon problème est d'importer un fichier .pst existant à l'extérieur du NameSpace d'Outlook...

Merci
Nicolas
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 09h56   #12
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Je commence à avoir de plus en plus de doutes sur la faisabilité de la chose : j'ai l'impression que les objets (et leurs méthodes) disponibles sous Outlook ne permettent que des actions à l'intérieur du namespace MAPI, et pas d'interaction avec l'extérieur. Si tel est le cas, je suis marron
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 10h53   #13
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Je commence à voir une lueur au bout du tunnel... (en espérant que ce ne soit pas le phare avant de la locomotive...

apparemment la méthode addStore du NameSpace permet d'importer les .pst... maintenant, il me reste à trouver comment lui dire où l'importer, mais le lien entre les éléments de l'application et le monde extérieur est fait

J'ai eu de la chance : j'étais parti à examiner les méthodes disponibles une par une dans l'aide Outlook. Heureusement, addStore commence par un "A"
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 12h06   #14
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
bon, ça y est, je réussis à importer.

Mais il reste un dernier petit problème : quand j'importe, le nouveau dossier de contacts (appelons le "mondossier") apparaît en tant que "mondossier dans Dossiers personnels" lorsque je clique sur la barre de contacts.

Si je vais voir l'arborescence outlook (icône liste des dossiers en bas à gauche), j'ai bien deux répertoires "Dossiers personnels" : un qui semble être le répertoire standard outlook et un nouveau qui contient juste mondossier et une corbeille. zarb....

J'ai un peu l'impression de vous raconter ma vie, mais bon, si ça peut servir à d'autres....
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 12h18   #15
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Suite et fin ! ( ouf ! )

pour ce qui concerne le problème du dossier en double : addStore n'importe pas les données du .pst dans le profil courant, mais crée un nouveau profil pour les stocker (d'où l'apparition du second "Dossier personnels").

Solution : copier le contenu de l'un dans l'autre puis faire un removeStore du dossier créé.

Merci à tous pour vos conseils et urls
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 17h03   #16
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 111
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 111
Points : 25
Points : 25
Bonjour,

Un an après, je me permets de faire remonter ce post pour savoir si tu pouvais copier ton code VBA à la suite de ce sujet, car je chercher à faire exactement la même chose et je ne trouve pas beaucoup d'aide sur internet.

Merci.
NooD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 08h47   #17
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Salut,

désolé mais j'ai réalisé ce projet lors d'un stage en entreprise, et je serais assez surpris qu'ils apprécient que je publie le code pour lequel ils m'ont payé

J'espère que ce post pourra malgré tout t'aider à résoudre ton problème, et si tu as des questions, n'hésite pas, je tenterai d'y répondre.

Nico
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 14h37   #18
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 111
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 111
Points : 25
Points : 25
Edit: --
NooD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2007, 16h50   #19
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 111
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 111
Points : 25
Points : 25
Bonsoir,

A la relecture de ce sujet et de l'aide de Outlook, je me suis penché sur les fichiers pst.

J'y ai trouvé un code intéressant :

Code :
1
2
3
4
5
6
Sub CreatePST()
    Dim myOlApp As New Outlook.Application
    Dim myNameSpace As Outlook.NameSpace
    Set myNameSpace = myOlApp.GetNamespace("MAPI")
    myNameSpace.AddStore "c:\" & myNameSpace.CurrentUser & ".pst"
End Sub
Par contre moi je ne m'intéresse qu'au carnet de contacts qui sont dans ce PST.
Apparement il est possible de filtrer lors d'un import manuel donc je pense que c'est aussi possible en VBA.
Si quelqu'un a une piste à proposer...

Je ne connais pas bien le fonctionnement d'Outlook avec les fichiers PST, donc j'aimerais savoir s'il est possible d'avoir deux fichiers PST chargés en même temps ? L'un contiendrait tous les contacts et l'autre serait le fichier PST personnel qui contient les mails.

Merci d'avance.

Bonne soiréée.
NooD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2007, 02h05   #20
Membre actif
 
Avatar de Nicomart
 
Inscription : septembre 2005
Messages : 206
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : septembre 2005
Messages : 206
Points : 176
Points : 176
Envoyer un message via Skype™ à Nicomart
Ce qui est sûr, c'est que tu peux exporter tes adresses, mails, etc. dans des fichiers pst séparés. Mais ensuite, j'ai peur qu'Outlook se base sur un seul et même fichier dans lequel il incorpore le tout... Peut être qu'une option permet de changer ce comportement par défaut.

Sinon, je ne sais pas comment, mais une fonction de filtrage par type doit être faisable.
Nicomart est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h48.


 
 
 
 
Partenaires

Hébergement Web