devis appel d'offres développeur webmaster informatique

RECHERCHE

UN BON

développeur

« L'accès simplifié aux développeurs informatiques et web pour tous vos projets de sites internet, d'applications mobiles, de paramétrages de logiciels et tout autre développement nécessaire à votre entreprise »

LANCER UN APPEL D'OFFRES


Déposez votre projet
GRATUITEMENT et ANONYMEMENT

Recevez TOUTES les propositions
des développeurs intéressés

Transmettez vos coordonnées uniquement à votre SELECTION SHORTLISTEE

Attribuez la mission sur notre site pour
EVALUER LA PRESTATION

DEPOSER UN PROJET

TESTER UN DEVELOPPEUR

idée développeur webmaster société informatique Si vous hésitez à engager un développeur, une petite mission de test peut être la solution, vous avez accès facilement aux sociétés informatiques favorables à ce type d'offres.

TESTEZ MAINTENANT

LES OFFRES DU MOMENT

Rendez-vous sur FaisMonBoulot

DEVELOPPEURS & WEBMASTERS

Nous sommes toujours à la recherche des bons profils de développeurs et webmasters pour répondre aux demandes de nos clients.

Enregistrez-vous sur FAISMONBOULOT.

vendredi 6 juin 2014

Gérer les rendez-vous Outlook depuis Excel avc VBA

outlook rendez-vous excel Lorsque l'on parle de CRM, l'une de ses fonctionnalités les plus importantes est de pouvoir gérer facilement ses rendez-vous avec ses prospects ou clients. Les tâches gérées regroupent pêle-mêle la planification, la prise de rendez-vous, le suivi de ces rendez-vous et la gestion fluide et automatique de calendriers.

Ces tâches peuvent être réalisées aisément depuis Excel en utilisant des procédures VBA. Nous allons présenter dans cet article quelques méthodes utiles pour automatiser la gestion des rendez-vous dans Outlook.

1ère étape : Relier Excel à Outlook

Afin de pouvoir utiliser les procédures décrites ci-dessous il est nécessaire d'activer la référence à Microsoft Outlook xx.0 dans l’éditeur VBA. La boite de dialogue est accessible depuis le menu Outils/Références.

Le numéro de la référence est fonction de la version d’Excel utilisée : 12.0 pour Excel 2007, 14.0 pour Excel 2010 ou 15.0 pour Excel 2013.

Comment ajouter un rendez-vous dans le calendrier ?

La procédure suivante permet d’ajouter un nouveau rendez-vous dans le calendrier outlook de l’utilisateur. Les principales propriétés nécessaires à récupérer d'Excel sont les suivantes :

  • Start : date et heure du début du rendez-vous
  • Duration : durée du rendez-vous, en minutes. Il est également possible d’utiliser comme alternative l’option ‘End’ en précisant une date et une heure
  • Subject : Le titre du rendez-vous

Option Explicit

'procédure permettant d'ajouter un rdv dans un calendrier outlook
Sub AjoutRDVCalendrier()

    'déclaration des variables
    Dim oOutlook As Outlook.Application
    Dim oAppointment As Outlook.AppointmentItem
    Dim namespaceOutlook As Outlook.Namespace
    Dim DossierCalendrier As Outlook.MAPIFolder
    
    'gestion d'erreurs
    On Error GoTo Err_Execution
    
    'on crée ensuite les objets
    Set oOutlook = CreateObject("Outlook.Application")
    Set namespaceOutlook = oOutlook.GetNamespace("MAPI")

    'définit le dossier calendrier
    'GetDefaultFolder renvoit le calendrier du compte actif
    Set DossierCalendrier = namespaceOutlook.GetDefaultFolder (olFolderCalendar)
    
    'on crée un nouveau rendez-vous
    Set oAppointment = DossierCalendrier.Items.Add
    
    'on renseigne ensuite les principaux paramètres
    With oAppointment
        .Start = "22/03/2014 12:00:00"
        .Duration = 60 'durée de rdv, en minutes
        .Subject = "mon RDV" 'Sujet du rdv
        .Body = "" 'corps du texte de la réunion
        .Location = "" 'Lieu du rdv
        'on sauvegarde et ferme
        .Save
        .Close (olSave)
    End With
    
    'Libération des variables.
    Set oAppointment = Nothing
    Set oOutlook = Nothing

Fin_Execution:
    Exit Sub
Err_Execution:
    MsgBox Err.Description, vbExclamation
    Resume Fin_Execution
End Sub

Il est également possible de préciser d’autres propriétés comme par exemple les options de rappel de la réunion :

  • ReminderMinutesBeforeStart : nombre de minutes avant le rdv pour afficher le rappel
  • ReminderSet : active ou désactive le rappel

Comment modifier un rendez-vous existant ?

Pour tout rendez-vous, il est possible de mettre à jour par Excel certaines propriétés comme l'horaire, le lieu, le titre, etc. A titre d'exemple, nous allons donc modifier le rendez-vous que nous avons créé précédemment afin de le transformer en réunion et d’inviter des participants.

Le type de rendez-vous est défini par la propriété « MeetingStatus ». Elle peut prendre les valeurs suivantes :

  • olMeeting : réunion
  • olNonMetting : Rendez-vous

Si cette propriété n’est pas renseignée lors de la création, la valeur par défaut est olNonMeeting.

Pour ajouter des participants à cette réunion nous utiliserons la méthode Recipients.Add

La première étape de cette procédure consiste à retrouver le rendez-vous existant : nous utiliserons pour cela la méthode « Find ». Cette méthode prend comme paramètre une chaine de texte représentant les filtres à appliquer.
Le filtre se présente sous la forme : « [nomChamp]=valeur ».
On peut créer un filtre avec plusieurs conditions en les séparant par le mot clé « AND ».
Si le filtre retourne plus d’un rendez-vous, seul le premier sera modifié.

'procédure pour modifier un rdv existant
Sub modifieRDVCalendrier()

    'déclaration des variables
    Dim oOutlook As Outlook.Application
    Dim oAppointment As Outlook.AppointmentItem
    
    Dim namespaceOutlook As Outlook.Namespace
    Dim DossierCalendrier As Outlook.MAPIFolder
    
    Dim sFilter As String
    
    'gestion d'erreurs
    On Error GoTo Err_Execution
    
    'on crée ensuite les objets
    Set oOutlook = CreateObject("Outlook.Application")
    Set namespaceOutlook = oOutlook.GetNamespace("MAPI")

    'définit le dossier calendrier
    Set DossierCalendrier = namespaceOutlook.GetDefaultFolder (olFolderCalendar)

    'on définit les critères de filtre afin de retrouver le rdv créé
    sFilter = "[Subject] = 'mon RDV' "
    
'on cherche le ou les rdv correspondant aux critères    
Set oAppointment = DossierCalendrier.Items.Find(sFilter)
    
    'si au moins un rdv a été trouvé
    If Not oAppointment Is Nothing Then
        With oAppointment
            .Start = "19/03/2014 14:00:00"
            .MeetingStatus = olMeeting
            .Recipients.Add "moi@mail.com" 'indiquer les adresses mail des participants en les séparant par un ;
            .Save
        End With
    End If

Fin_Execution:
    Exit Sub
Err_Execution:
    MsgBox Err.Description, vbExclamation
    Resume Fin_Execution
    
End Sub

Comment supprimer un rendez-vous ?

De la même façon qu’il est possible de modifier un rendez-vous existant, il est possible de le supprimer. La méthode utilisée est « delete ».

A la place de la méthode « Find », cet exemple utilise la méthode « restrict » qui renvoie tous les rendez-vous correspondant aux critères définis et non pas un seul élément.

Il faut alors boucler sur tous les éléments sélectionnés afin de déterminer le ou les rendez-vous pertinents.

'procédure pour supprimer un rdv existant
Sub supprimeRDVCalendrier()

    'déclaration des variables
    Dim oOutlook As Outlook.Application
    Dim oAppointment As Outlook.AppointmentItem
    
    Dim namespaceOutlook As Outlook.Namespace
    Dim DossierCalendrier As Outlook.MAPIFolder
    
    'on déclare un objet collection qui va contenir tous les rdv correspondat aux critères de filtre
    Dim collectionAppointments As Outlook.Items
    
    Dim sFilter As String
    
    'gestion d'erreurs
    On Error GoTo Err_Execution
    
    'on crée ensuite les objets
    Set oOutlook = CreateObject("Outlook.Application")
    Set namespaceOutlook = oOutlook.GetNamespace("MAPI")

    'définit le dossier calendrier
    Set DossierCalendrier = namespaceOutlook.GetDefaultFolder (olFolderCalendar)

    'on définit les critères de filtre
    'la date doit être formaté au format Outlook
    sFilter = "[Start] > '" & Format("12/03/2014 12:00", "ddddd h:nn AMPM") & "'"
    
    'on recupère tous les rdv correspondant aux critères avec la méthode restrict
    Set collectionAppointments = DossierCalendrier.Items.Restrict(sFilter)
    
    'boucle sur tous les rdv trouvés
    For Each oAppointment In collectionAppointments
        'si le sujet correspond on supprime le rdv
        If oAppointment.Subject = "mon RDV" Then
            oAppointment.Delete
        End If
    Next

    'Libération des variables.
    Set oAppointment = Nothing
    Set oOutlook = Nothing

Fin_Execution:
    Exit Sub
Err_Execution:
    MsgBox Err.Description, vbExclamation
    Resume Fin_Execution
End Sub
						

En connectant Excel à votre agenda Outlook, il est désormais plus facile de suivre votre activité et d'analyser vos performances. En développant des fonctions simples, vous pourrez retrouver d'un clic les clients à recontacter, avoir une comptabilité analytique de votre activité commerciale ou planifier des relances à dates précises.

A bientôt pour la prochaine étape des mini-fonctionnalités pour un mini-CRM à développer sous Excel.


Si vous souhaitez faire appel à nos services ou tout simplement nous demander de réaliser un petit audit de vos outils Excel, n’hésitez pas à nous contacter directement sur notre formulaire de contacts rechercheunbondeveloppeur.com/contacts

Publié par à
Libellés :
Flux RSS