Suppression RDC Outlook

juer31 Messages postés 120 Statut Membre -  
juer31 Messages postés 120 Statut Membre -

Bonjour,

J'ai un ficher qui sui mon registre de document technique. J'ai une macro pour ajouter un rappel dans Outlook mais je suis pas capable de le faire supprimer si le document est en statue approuver.

Est-ce possible de m'aider la dessus? voir le ficher avec wetransfert Cjoint ne fonctionne pas

https://we.tl/t-MacINiEYpI

Merci
Windows / Chrome 135.0.0.0

1 réponse

  1. xHaMaz Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   18
     

    Bonjour,

    Je te donne une version qui prend le sujet exact généré dans "AjoutRV", qui utilise la bonne ligne active et qui supprime le rappel s'il existe, uniquement si le statut est Approuvé :

     

    Sub SupprimerRappelSiApprouve()
        Const olFolderCalendar As Long = 11
    
        Dim OutObj As Object, OutAppt As Object
        Dim NameSpaceOutlook As Object
        Dim DossierCalendrier As Object
        Dim Lig As Long
        Dim SujetARechercher As String
        Dim DateARechercher As Date
        Dim i As Long
    
        ' Définir la ligne active
        Lig = ActiveCell.Row
    
        With ThisWorkbook.Sheets("Registre")
            ' Vérifier que le statut est "approuvé"
            If LCase(Trim(.Range("K" & Lig).Value)) <> "approuvé" Then
                MsgBox "Le statut n'est pas 'approuvé'.", vbExclamation
                Exit Sub
            End If
    
            ' Construire le sujet comme dans AjoutRV
            SujetARechercher = .Range("K3").Value & "-Relance" & "-DT-GOMTDX-00" & .Range("E" & Lig).Value
            DateARechercher = .Range("Q" & Lig).Value
        End With
    
        ' Accès à Outlook
        Set OutObj = CreateObject("outlook.application")
        Set NameSpaceOutlook = OutObj.GetNamespace("MAPI")
        Set DossierCalendrier = NameSpaceOutlook.GetDefaultFolder(olFolderCalendar)
    
        ' Rechercher et supprimer le RDV
        For i = DossierCalendrier.Items.Count To 1 Step -1
            Set OutAppt = DossierCalendrier.Items(i)
            If LCase(Trim(OutAppt.Subject)) = LCase(Trim(SujetARechercher)) _
                And DateValue(OutAppt.Start) = DateValue(DateARechercher) Then
                OutAppt.Delete
                MsgBox "Rappel supprimé pour le sujet : " & SujetARechercher, vbInformation
                Exit Sub
            End If
        Next i
    
        MsgBox "Aucun rappel trouvé à supprimer.", vbExclamation
    
        ' Nettoyage
        Set OutAppt = Nothing
        Set DossierCalendrier = Nothing
        Set NameSpaceOutlook = Nothing
        Set OutObj = Nothing
    End Sub

    Dit moi si tu veux que le rappel soit supprimé automatiquement dès que tu tapes Approuvé dans la cellule K.

    1
    1. juer31 Messages postés 120 Statut Membre 6
       

      J'ai essayer différente manière de supprimer le RDV avec différente technique sur VBA mais j'obtiens toujours le MsgBox "Aucun rappel trouvé à supprimer."

      0