Enregistrer des dates d'un fichier Excel sur Outlook
Bonjour à tous,
Je suis à la recherche d'une macro qui me permettrait d'enregistrer un rendez-vous sur Outlook grâce à la date qui m'est proposée (via un calcul) dans une cellule d'une feuille Excel.
En gros, après un calcul, la cellule A1 me donne, par exemple, jeudi 30 janvier 2014. J'aimerais ensuite pouvoir appuyer sur un bouton (que j'ai créé) qui m'ouvre Outlook et une fenêtre de "Nouveau rendez-vous" avec les préenregistrements suivants:
- Rendez-vous à partir de "Xh" jusqu'à "Yh"
- Rappel sonore à l'heure "X", donc 0 minutes avant que le rendez-vous commence
- Objet du rendez-vous = "Exemple"
- Commentaires = "Blablaba " & un nombre de plage de cellules définies concaténés dans le commentaire
Les données "Xh"; "Yh"; "Exemple" et "blabla" sont évidemment connues, c'est simplement qu'elles vont changées car je vais reproduire cette macro plusieurs fois.
J'espère que j'ai été assez clair dans mes explications, et je vous remercie dès lors pour votre aide,
Viox
Bonjour Viox
Voici ce que j'utilise
Sub RappelOutlook()
' Ajouter un nouveau rendez-vous.
Dim OutObj As Object, OutAppt As Object
Dim Lig As Long, Sujet As String, Détail As String
Dim sDate As String, Heure As String, HTemp As String
Dim Delai As Integer, Rappel As Single
' Récupérer les paramètres pour OUTLOOK
Delai = 15 : Rappel = 0.5
' Ligne sur la feuille
Lig = Selection.Row
Sujet = "Sujet du Rendez-vous"
sDate = Range("O" & Lig).Value ' Cellule contenant la date de rappel
If sDate = "" Then
MsgBox "Vous devez inscrire un date de rappel !", vbCritical, "ATTENTION ..."
Exit Sub
End If
On Error Resume Next
' Heure de rappel
Heure = "09:30:00"
' Demander l'heure
HTemp = InputBox("A qu'elle heure voulez-vous faire le rappel (HH:MM) ?", "HEURE de RAPPEL ...", Heure)
If HTemp <> "" And HTemp <> Heure Then
If InStr(1, HTemp, ":") > 0 Then Heure = HTemp
End If
' Délai de la période 1 heure avant
Heure = Format(Heure, "hh:mm:ss")
On Error GoTo 0
' Créer l'instance OUTLOOK
Set OutObj = CreateObject("outlook.application")
' Créer l'instance pour le RDV
Set OutAppt = OutObj.CreateItem(1) ' olAppointmentItem
' Si tout est OK, on créé un RDV
With OutAppt
.Start = sDate & " " & Heure
.Duration = Delai
.Location = "Montargis"
.ReminderMinutesBeforeStart = Rappel * 60 ' rappeler X heure(s) avant
.ReminderSet = True
.Subject = Sujet
.Body = Détail
'.MeetingStatus = olMeeting
'.OptionalAttendees = "titi@toto.fr" 'participants optionnel à la réunion
' Participant(s) obligatoire(s)
'.RequiredAttendees = "DestOutlook"
'.Send
.Save
End With
' Libérez la variable objet Outlook.
Set OutObj = Nothing
Set OutAppt = Nothing
' Petit message
MsgBox "Le Rendez-vous à bien été ajouté ! ", vbInformation, "OK ..."
End Sub
A toi d'adapté
Ok super, ça marche du tonnerre, merci BrunoM45 Mais j'aurais besoin d'une dernière modification à ta macro. J'ai essayé de la faire moi-même mais je n'y arrive pas.
J'aimerais par moi-même appuyer manuellement sur le bouton enregistrer du rendez-vous, car même si je veux automatiser mes rendez-vous, il est possible que je fasse quelques petites modifications manuellement par rapport aux données de bases. Donc il faudrait que la macro m'ouvre Outlook, un nouveau rendez-vous avec les données de base déjà inscrites et si je veux modifier alors je le fais manuellement et après j'enregistre, sinon j'enregistre directement.
Merci d'avance