Séparer les RDV

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 Sub

Bonjour et bienvenue sur le forum

Si tu joignais ton fichier complet, on pourrait essayer de voir ce qu'on peut faire...

Bye !

Rechercher des sujets similaires à "separer rdv"