Synchroniser Excel avec Calendrier Outlook 2016
Résolu
Le_Maniouk
Messages postés
317
Date d'inscription
Statut
Membre
Dernière intervention
-
karinoss -
karinoss -
A voir également:
- Synchroniser excel et calendrier outlook
- Synchroniser calendrier outlook et gmail - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Mon calendrier - Télécharger - Santé & Bien-être
- Si et excel - Guide
1 réponse
Bon au final j'ai trouvé tout seul ^^
Pour ceux qui cherche, je vous donne le code. A savoir que j'ai créé une colonne en plus avec à l'intérieur un menu déroulant (OUI, NON, TERMINE).
Ce qui fait que si c'est sur "NON", ça ne fais rien, si c'est sur "OUI" ça me le synchronise automatiquement dans mon calendrier Outlook et par contre si c'est sur "TERMINE" ça me synchronise la mise à jour sans créer de doublons sur mon calendrier.
En fait, cela me sert à créer mes RDV depuis Excel.
En Colonne B, j'ai la date et l'heure de mon RDV.
En Colonne D, j'ai le NOM de mon RDV.
En Colonne E, j'ai mon lieu de RDV.
En Colonne F, j'ai le commentaire de mon RDV (c'est à dire, Rdv pris par téléphone etc...)
Et le code ci-dessus fait en sorte que, si je modifie mon commentaire de la colonne F tout en ayant le même NOM, cela se met à jour dans Outlook.
Voilà ;)
Pour ceux qui cherche, je vous donne le code. A savoir que j'ai créé une colonne en plus avec à l'intérieur un menu déroulant (OUI, NON, TERMINE).
Ce qui fait que si c'est sur "NON", ça ne fais rien, si c'est sur "OUI" ça me le synchronise automatiquement dans mon calendrier Outlook et par contre si c'est sur "TERMINE" ça me synchronise la mise à jour sans créer de doublons sur mon calendrier.
Private Sub Worksheet_Change(ByVal Target As Range)
If UCase(Target) = "OUI" Then
Dim OlApp As Outlook.Application
Dim olAppItem As Outlook.AppointmentItem
Set OlApp = GetObject("", "Outlook.Application")
Set olAppItem = OlApp.CreateItem(olAppointmentItem)
With olAppItem
.Start = Range("b" & Target.Row).Value
.Subject = Range("d" & Target.Row).Value
.Location = Range("e" & Target.Row).Value
.Body = Range("f" & Target.Row).Value
.Duration = 60
.ReminderSet = True
.Save
End With
End If
If UCase(Target) = "TERMINE" Then
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myOlApp.ActiveExplorer.CurrentFolder = myNameSpace.GetDefaultFolder(olFolderCalendar)
Set outlookitems = myOlApp.ActiveExplorer.CurrentFolder.Items
Cpte = outlookitems.Count
For x = 1 To Cpte
'exemple de test : si le sujet est "toto" alors on supprime le rdv
If outlookitems(x).Subject = Range("d" & Target.Row).Value Then
outlookitems(x).Delete
End If
Next x
End If
If UCase(Target) = "TERMINE" Then
Set OlApp = GetObject("", "Outlook.Application")
Set olAppItem = OlApp.CreateItem(olAppointmentItem)
With olAppItem
.Start = Range("b" & Target.Row).Value
.Subject = Range("d" & Target.Row).Value
.Location = Range("e" & Target.Row).Value
.Body = Range("f" & Target.Row).Value
.Duration = 60
.ReminderSet = True
.Save
End With
End If
End Sub
En fait, cela me sert à créer mes RDV depuis Excel.
En Colonne B, j'ai la date et l'heure de mon RDV.
En Colonne D, j'ai le NOM de mon RDV.
En Colonne E, j'ai mon lieu de RDV.
En Colonne F, j'ai le commentaire de mon RDV (c'est à dire, Rdv pris par téléphone etc...)
Et le code ci-dessus fait en sorte que, si je modifie mon commentaire de la colonne F tout en ayant le même NOM, cela se met à jour dans Outlook.
Voilà ;)
PA38
merci
PA38
Désolé mais cela ne fonctionne pas
karinoss
merci pour cette formul est-il possible d'avoir un exemple de fichier ?