|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Bonjour,
Voilà, je débute en VBA pour Outlook (je me débrouille un peu le VBA pour Excel) et je désire créer une macro (affecter à un bouton) qui enregistre le rendez-vous en cours de saisie dans 2 calendriers différents, dont 1 est un calendrier situé dans le dossier public (j'utilise Exchange). Ceci permattrais donc d'enregistrer en 1 seul clic le même RDV dans plusieurs calendrier en même temps. Merci aux gentils contributeurs qui me fourniront des morceaux de codes (ou mieux le code complet Alf |
|
|
00
|
|
|
#2 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Bonjour,
Bon, j'avance... à petits pas ! (comme je ne fais pas que ça... comme vous tous Voici le bout de code que j'ai créé (en m'inspirant de ce qui existait Code :
Après avoir renseigner tous les éléments du RDV (objet, heures...), lorsque je clique sur mon bouton-macro, le RDV est bien créé dans les 2 calendriers à l'heure voulue. Le souci c'est qu'il n'enregistre pas l'objet du message. Avez-vous des idées ? Alf |
||
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Regarde si avec OutAppt1, tu n'aurais pas un .Subject comme propriété.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Merci Heureux-oli de t'intéresser à mon problème.
En fait ma macro se lancerais quand on appuierrais sur le bouton correspondant dans le RDV en cours de saisie. Le propriété .Subject existe pour OutAppt1 mais ça ne marche pas : il attend une valeur à mettre dedans (OutAppt1.Subject = "RDV"). En effet, je veux qu'il enregistre le RDV en cours de saisie dans 2 (ou 3) calendriers donc qu'il me cré automatiquement 2 RDV dans 2 (ou 3) calendriers avec dans le sujet, la localisation (Emplacement), heures, etc. ce que j'ai saisie... Je sais plus trop comment expliquer... En fait j'ai besoin de connaitre les objets en cours de saisies pour les affectés à mes objet RDV... si vous me suivez toujours... Alf |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 351 ![]() |
Si l'un des deux rendez-vous possède un sujet, on peut les faire correspondre.
Ou vice versa. Le premier est le vide, et le second, celui avec une valeur.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 643 ![]() |
Salut,
Pourquoi le créer 2 fois et non pas le copier ? Ca doit donner un truc du genre, regarde l'aide VBE. Code :
set OutAppt1 = OutObj.CreateItem(olAppointmentitem) with OutAppt1 .subject ="test" ' et tous les autres propriétés de ton rdv End with ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Salut !
Bon, je pense n'avoir pas été clair sur ce que j'aimerais Voilà : dans Outlook, je clique sur mon calendrier principal (j'ai un serveur Exchange). Quand je fais nouveau, il m'ouvre une fenêtre pour saisir un nouveau RDV. Je saisi donc le l'objet, l'emplacement, les heures, le rappel... Et lorsque je veux le sauvegarder, j'aimerais cliquer 1 seule fois sur un bouton derrrière lequel une macro enregistre ce RDV dans 2 (ou 3) calendriers. Je peux faire des "Enregistrer sous..." plusieurs fois (autant que de calendriers) mais pour aller plus vite je voudrais le faire en 1 clic, les calendriers étant toujours les mêmes. Avec le code ci-dessus, il me crée bien le RDV dans chaque calendrier, mais tout est vide : l'objet, l'emplacement, les heures... il n'y a que le rappel qui est OK pour le calendrier principal (ce que je veux, et je sais que le rappel ne fonctionne pas pour les autres calendriers). Comment récuprér les informations en cours de saisie dans ma macro ? (je me demande si je dois pas créer un formulaire spécifique, mais c'est pareil, il me faudra ma macro...). Je tourne en rond Si qq à des idées... Alf |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 643 ![]() |
Salut,
Effectivement t'étais pas sur la bonne voie, pour récupérer le RDV que tu es en train de créer : Code :
set myrdv= ActiveInspector.CurrentItem Tapes "copy" dans VBE puis tu le selectionnes et tu appuis sur F1 tu auras l'aide sur cette méthode regarde les exemples c'est assez proche de ce que tu veux faire. regarde aussi MOVE ok ? Oliv' |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
OK merci Oliv, je vais essayé cela demain.
Alf |
|
|
00
|
|
|
#10 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Super, merci Oliv pour ton aide.
Voici le code (pour ceux que ça interresse) : Code :
Comment faire pour récupérer la réponse faite lors du "MyRDV.Close olPromptForSave" pour la gérer ? (Si "oui" alors je copie et j'enregistre la copie dans le calendrier auxiliaire.) Alf |
||
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Je retire ce que j'ai écris plus haut :
la partie "If MyRDV.Saved... End If" fonctionne. Par contre si qq sait comment tirer parti de la réponse faite lors du "MyRDV.Close olPromptForSave" je prends ! Ca peut toujours servir ! (Après la réponse à cela je mettrais ce pb en résolu). Merci encore. Alf |
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Inscription : mars 2006 Messages : 643 ![]() |
Salut,
En fait tu fais une mauvaise utilisation de "saved" c'est une propriété pas un évenement, ca dit juste si le mail a été modifié depuis sa dernière sauvegarde. Regarde l'aide sur l'événement, WRITE. Oliv' |
|
|
00
|
|
|
#13 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mai 2006 Messages : 51 ![]() |
Bonjour,
Bon, voici le code que j'utilise : Code :
En fait je cherche surtout à partager le second calendrier (celui créer) avec d'autre utilisateurs. Mais cela est dans un autre poste. Je mais donc celui-ci en résolu. Merci à tous. Alf |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com