Création de rappel dans Outlook à partir d'une cellule Excel

Bonjour,

Je suis entrain de créer un tableau de suivi d'activité Excel.

J'ai fait une colonne "A relancer le" de manière à ce qu'à cette date un rappel soit créé dans Outlook.

Cela fonctionne correctement mis à part le fait que si je clique plusieurs fois sur "créer rappels" cela me crée plusieurs fois le même rappel.

Je voudrais faire un contrôle sur la date "A relancer le", si un rappel est déjà créé alors on ne fait rien.

Merci pour votre aide.

Je vous joins mon fichier Excel ainsi que la visualisation du code.

1'470suivi-activite-test.xlsm (66.89 Ko)

Bonjour,

Voici, en PJ, une solution à votre problème.

Cordialement,

Jimmy

3'521suivi-activite-test.xlsm (62.68 Ko)

Merci beaucoup.

Odile.


Je suis désolée, j'ai testé, cela fonctionnait sur une ligne mais en créant une seconde ligne j'ai maintenant ce message d'erreur

"Erreur d'exécution'91':

Variable objet ou variable de bloc With non définie"

Pouvez vous m'aider .... encore.

Merci beaucoup.

Odile.

De mon coté tout fonctionne très bien, il y a juste une vérif dans votre code qui est fausse :

Remplacer :

If .Range("Q" & Lig).Comment.Text <> .Range("E" & Lig).Value Then
            FlgRdv = True
Else
            ' Sinon le commentaire n'a pas changé = pas de RDV
           FlgRdv = False
End If

Par :

If .Range("Q" & 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

Bonjour à tous les deux,

J'étais parti sur la ligne active uniquement :

Sub AjoutRV()
  Dim DLig As Long, Lig As Long
  Dim OutObj As Object, OutAppt As Object
  Dim DateRdv As Date, FlgRdv As Boolean

  ' Créer une instance d'Outlook
 Set OutObj = CreateObject("outlook.application")
  ' Avec la feuille
 With Sheets("Suivi")
    Lig = ActiveCell.Row
         ' Si une date de relance existe
     If .Range("b" & Lig) <> "" Then
        ' Si un RDV n'a pas déjà été créé
       If .Range("Q" & Lig) <> "" Then
          ' Si le commentaire à changé
         If .Range("Q" & 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("N" & Lig)
        Set OutAppt = OutObj.CreateItem(1)
        With OutAppt
          .Subject = "Rappeler " & Sheets("Suivi").Range("B" & Lig) & " au " & Sheets("Suivi").Range("E" & Lig)
          .Start = DateRdv & " 08:00"
          .Duration = 60
          .ReminderSet = True
          .Save
        End With
        ' Créer le commentaire et inscrire Oui
       On Error Resume Next
        .Range("Q" & Lig).Comment.Delete
        .Range("Q" & Lig).AddComment Text:=.Range("C" & Lig).Value
        .Range("Q" & Lig) = "Oui"
        On Error GoTo 0
      End If
    'Next Lig
  End With
  Set OutAppt = Nothing
End Sub

Je pense que tout est OK merci beaucoup à vous.

Odile.

Bonsoir,

J'aimerais pouvoir faire la même chose mais au lieu de créer un rdv dans le calendrier je voudrais créer une tâche.

Quelles modifications apporter pour que cela fonctionne ?

Merci

Angélique

Bonjour,

Je ne saurais vous répondre, je pense que vous devriez poster un nouveau sujet sinon vous risquez de ne pas avoir de réponse, car j'ai clôturé ce post comme résolu.

Odile.

Merci Odile pour votre retour.

J'ai déjà fait un nouveau post mais aucune réponse

Bonjour,

Votre tableau est super, c'est exactement ce qu'il me faut, malheureusement il ne fonction que jusqu'à la 4ième ligne, je ne comprends rien du tout à VBA (je vais me former c'est un outil incroyable) je vois juste dans VBA qu'au début du code, quand je passe ma souris sur "Lig" une petite fenêtre jaune s'ouvre et affiche "4" j'en ai déduis (d'après des tests aussi) que c'est la ligne jusqu'à laquelle le code est actif, lorsque je test, ça fonctionne parfaiteement jusqu'à la 4ième ligne mais à la 5ième, quoi que je fasse ça ne fonctionne pas.

Une âme charitable pourrait me corriger celà ou me montrer comment faire svp, j'ai passé plusieurs heures à fouiller et essayer de comprendre (j'en ai le ventre noué sérieux) mais rien n'y fait.

J'ai tenté de supprimer des lignes de codes mais comme pour les lignes de codes de mes imprimantes 3d, ça ne fonctionne évidement pas.

Soudure d'une bricole à charge de revanche ^^

Max

Bonjour,

De ce que je peux voir de ce code, il tourne de la ligne 2 jusqu'à la dernière cellule occupée dans la colonne B. Donc tant que tu remplis les cellules de la colonne B sur la ligne qui t'intéresse, ça doit fonctionner.

Bonjour,

Merci pour la réponse rapide.

J’ai vraiment tout essayé, j’ai même copié l’exemple mot pour mot mais à la 5 ieme ligne rien n’y fait, erreur 91, j’ai beau changer le commentaire ça ne veut pas, la ligne 4 en remplissant uniquement la date de debut, le nom du bonhome et la date de rappel Ça fonctionne, mais pas lan5 ieme. J’ai testé les corrections plus haut mais niet.

Bonjour,

Vous aviez raison, le tableau fonctionne bien jusqu'à la ligne 400, c'est moi qui ai mal compris la petite fenêtre dans VBA qui disait Lig = 4 , ça voulait dire que l'erreur que je rencontrais était à la ligne 4 -.-

C'est à cause du commentaire à changer, j'ai copié la cellule "oui" avec le commentaire de l'exemple et l'ai copié sur les autres cellules, ça fonctionne, j'ai encore un peu de mal à modifier la syntaxe du rappel mais ça je pense pouvoir gérer, par contre je n'arrive pas à supprimer cette condition de commentaire pour quelque chose d'un peu plus pratique, l'idéal pour moi serait que la condition pour que le rappel se créé soit une case dans laquelle je met manuellement la date du jour, comme =aujourd'hui mais manuellement, sinon à chaque ouverture la date du jour se mettrais automatiquement en me créant des doublons, pourquoi pas un :

Si date manuelle = aujourd'hui alors le rdv se créé, je fais un tableau de reconduction de qualifications de soudures.

je saurais l'écrire en excelle avec des SI mais je suis trop mauvais encore en syntaxe code VBA pour l'écrire dans le code.

Cordialement

Rechercher des sujets similaires à "creation rappel outlook partir"