Kelly a une feuille de travail dans laquelle elle a un tableau des dates utilisées comme dates de clôture pour diffuser des publicités dans les pages jaunes locales. Elle souhaite importer ces dates dans Outlook Calendar

avec un rappel de 72 heures, mais certaines dates changent sans cesse en chiffres.

Kelly se demande comment elle peut obtenir les dates Excel dans Outlook comme elle en a besoin.

Travailler avec Outlook est un peu « de niveau supérieur » que votre macro Excel ordinaire, car vous devez comprendre non seulement comment accéder aux données Excel dans la macro, mais aussi comment manipuler les données Outlook. Sans savoir exactement quelles données vous devez transférer de la feuille de calcul au rendez-vous Outlook, examinons un court scénario.

Supposons que vous ayez une feuille de calcul contenant une série de lignes, chacune représentant un seul rendez-vous que vous souhaitez créer. Chaque rendez-vous contient des informations dans sept colonnes, comme suit, de gauche à droite:

Objet. * Texte décrivant l’événement / le rendez-vous (par exemple, «Rappel Pages Jaunes»)

Lieu. * Texte décrivant le lieu de l’événement, comme une salle de réunion ou un numéro de conférence téléphonique (facultatif)

Date / heure de début. * Entrez la date et l’heure auxquelles l’événement doit commencer en utilisant un format de date Excel standard (vous pouvez afficher comme vous le souhaitez)

Durée. Entier qui représente un nombre de minutes pour l’état d’occupation du rendez-vous. Entier qui représente une valeur facultative indiquant si l’heure doit apparaître sous la forme Libre (0), provisoire (1), occupé (2) ou absent du bureau (3)

Temps de rappel. * Entier qui représente un nombre de minutes avant le rendez-vous pour qu’un rappel s’affiche (comme dans 4320 qui est le nombre de minutes en 3 jours)

Corps. * Texte décrivant les détails que vous voudrez peut-être placer dans le corps du rendez-vous

Avec ces données en place, vous pouvez utiliser une macro pour parcourir toutes les lignes (en commençant par la deuxième ligne, en supposant que la première ligne a des en-têtes)

et créez un rendez-vous pour chaque ligne.

Sub AddAppointments()

' Create the Outlook session     Set myOutlook = CreateObject("Outlook.Application")



' Start at row 2     r = 2

Do Until Trim(Cells(r, 1).Value) = ""

' Create the AppointmentItem          Set myApt = myOutlook.createitem(1)

' Set the appointment properties         myApt.Subject = Cells(r, 1).Value         myApt.Location = Cells(r, 2).Value         myApt.Start = Cells(r, 3).Value         myApt.Duration = Cells(r, 4).Value         ' If Busy Status is not specified, default to 2 (Busy)

If Trim(Cells(r, 5).Value) = "" Then             myApt.BusyStatus = 2         Else             myApt.BusyStatus = Cells(r, 5).Value         End If         If Cells(r, 6).Value > 0 Then             myApt.ReminderSet = True             myApt.ReminderMinutesBeforeStart = Cells(r, 6).Value         Else             myApt.ReminderSet = False         End If         myApt.Body = Cells(r, 7).Value         myApt.Save         r = r + 1     Loop End Sub

La macro continue à parcourir les lignes jusqu’à ce que la colonne Objet soit vide.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (7349) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.