Séparer les RDV
L
Bonjour à tous,
J'explique mon problème :
Avec cette macro, les RDV sont crées à 10 heures pour 15 minutes.
Moi j'aimerai bien que les RDV soit crées à 10 heures si c'est libre, sinon le créer des que c'est libre et pendant les jours ouvrées...
Je suis perdu, merci d'avance pour votre aide.
Option Explicit
Sub AjoutRV()
Dim DLig As Long, Lig As Long
Dim OutObj As Outlook.Application
Dim OutAppt As Outlook.AppointmentItem
Dim DateRdv As Date, FlgRdv As Boolean
' Créer une instance d'Outlook
Set OutObj = CreateObject("outlook.application")
' Avec la feuille
With Sheets("2017")
DLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 2 To DLig
' Si une date de relance existe
If .Range("B" & Lig) <> "" Then
' Si un RDV n'a pas déjà été créé
If .Range("D" & Lig) <> "" Then
' Si le commentaire à changé
If .Range("D" & Lig).Comment.Text <> .Range("C" & Lig).Value Then
FlgRdv = True
Else
' Sinon le commentaire n'a pas changé = pas de RDV
FlgRdv = False
End If
Else
' Sinon, pas de RDV déjà créé
FlgRdv = True
End If
Else
' Sinon, pas de date de relance
FlgRdv = False
End If
' Si le FLAG est à vrai on créé le RDV
If FlgRdv Then
DateRdv = Range("B" & Lig)
Set OutAppt = OutObj.CreateItem(olAppointmentItem)
With OutAppt
.Subject = "Contacter " & Sheets("2017").Range("A" & Lig) & " pour " & Sheets("2017").Range("C" & Lig)
.Location = "SACD"
.Body = "Contacter " & Sheets("2017").Range("A" & Lig) & " " & Sheets("2017").Range("G" & Lig) & " - " & Sheets("2017").Range("C" & Lig) & " - " & Sheets("2017").Range("H" & Lig)
.Start = DateRdv & " 10:00"
.Duration = 15
.ReminderSet = True
.Save
End With
' Créer le commentaire et inscrire Oui
On Error Resume Next
.Range("D" & Lig).Comment.Delete
.Range("D" & Lig).AddComment Text:=.Range("C" & Lig).Value
.Range("D" & Lig) = "Oui"
On Error GoTo 0
End If
Next Lig
End With
Set OutAppt = Nothing
End Subg
Bonjour et bienvenue sur le forum
Si tu joignais ton fichier complet, on pourrait essayer de voir ce qu'on peut faire...
Bye !