IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outlook Discussion :

Utilisation de l'InputBox [Toutes versions]


Sujet :

Outlook

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Utilisation de l'InputBox
    Bonjour,

    J'ai trouvé cette macro sur le net (merci Diane si tu passes par la, https://www.slipstick.com/developer/...-up-using-vba/ ), elle permet de créer une tache dans outlook avec le reminder qui va bien via l'InputBox. Cependant je n'arrive pas du tout à la faire fonctionner. En effet, la tache est bien créée cependant le DueDate ainsi que le Reminder ne correspondent en aucun cas avec la valeur rentrée précédemment dans l'InputBox!! Je rentre par exemple 90 (pour 90 jours) mais le DueDate et le reminder de la tache se mettent par défault sur + 24h...

    S'il vous vient une idée, je suis preneur



    Merci!

    Le code;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Option Explicit
    Dim SetFlag
    Private WithEvents olSentItems As Items
     
    Private Sub Application_Startup()
      Dim objNS As NameSpace
      Set objNS = Application.Session
      ' instantiate objects declared WithEvents
      Set olSentItems = objNS.GetDefaultFolder(olFolderSentMail).Items
      Set objNS = Nothing
    End Sub
     
    Private Sub olSentItems_ItemAdd(ByVal Item As Object)
      On Error Resume Next
     
      Dim countDays As Long
      Dim prompt As String
     
      countDays = InputBox("How many days from now?")
     
           If SetFlag = vbYes Then
     
     
     
       With Item
        .MarkAsTask olMarkThisWeek
        .TaskDueDate = countDays
        .ReminderSet = True
        .ReminderTime = countDays - 1
        .Save
       End With
           End If
     SetFlag = vbNo
    End Sub
     
    Sub SayYes()
     SetFlag = vbYes
    End Sub

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Bonne recherche !
    Par contre pourquoi ne poursuis tu pas le fil précédent ? qui lui est de plus dans le bon sous forum .

    https://www.developpez.net/forums/d1...n-d-aide-code/


    Pour la réponse à ta question

    il faut saisir une date et pas un nombre

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Bonne recherche !
    Par contre pourquoi ne poursuis tu pas le fil précédent ? qui lui est de plus dans le bon sous forum .

    https://www.developpez.net/forums/d1...n-d-aide-code/


    Pour la réponse à ta question

    il faut saisir une date et pas un nombre

    Je ne sais du tout, je suis nouveau je dois juste me familiariser avec le site dans un premier temps

    Pour le code le fait d'avoir mis en place ceci permet, sauf erreur, de choisir une date via un nombre non ? (ex; Si je met 80, la due Date sera dans 80 jours)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim countDays As Long
    countDays = InputBox("How many days from now?")
    .TaskDueDate = countDays

    Par contre selon la créatrice le dispositif suivant permettrait lui d'entrer comme tu dis une date et non un nombre seulement j'ai beau essayé le résultat est le meme...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim RemindMeOn As Date
    RemindMeOn = InputBox("Enter the reminder date in any valid short date (m/d/y) format")
    .TaskDueDate = RemindMeOn
    Dur dur de commencer ou est vite perdu!

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    comme cela alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .TaskDueDate = now + countDays

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    comme cela alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .TaskDueDate = now + countDays
    Parfait merci beaucoup !!!!!

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Les derniers réglages
    Encore les derniers réglages à faire et je suis bon.

    Le problème est que j'ai envoyé la macro à mes collègues et que certains d'entre eux ont l'InputBox qui s'ouvre à chaque message qu'ils envoient (Sans avoir à cliquer sur le bouton SayYes permettant le lancement de la macro). Ce qui est étrange c'est que ca ne me le fait pas à moi! Est ce que cela viendrait des réglages dans les options ?

    Une idée ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par YannQMRX Voir le message
    Parfait merci beaucoup !!!!!
    Encore les derniers réglages à faire et je suis bon.

    Le problème est que j'ai envoyé la macro à mes collègues et que certains d'entre eux ont l'InputBox qui s'ouvre à chaque message qu'ils envoient (Sans avoir à cliquer sur le bouton SayYes permettant le lancement de la macro). Ce qui est étrange c'est que ca ne me le fait pas à moi! Est ce que cela viendrait des réglages dans les options ?

    Une idée ?

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Faudrait publier l'ensemble de ton code !

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Faudrait publier l'ensemble de ton code !
    Salut,

    Oui évidemment

    Voici le code, le problème est simplement que l'inputbox apparait à chaque envoi de mail après avoir envoyer le dernier mail utilisant la macro. Elle reste donc toujours active meme si on ne clique pas sur le bouton avant d'envoyer, et je dois donc à chaque fois relancer Outlook pour que la macro cesse de fonctionner (ce qui est plutot embetant). :/


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Explicit
    Dim SetFlag
    Private WithEvents olSentItems As Items
     
    Private Sub Application_Startup()
      Dim objNS As NameSpace
      Set objNS = Application.Session
      ' instantiate objects declared WithEvents
      Set olSentItems = objNS.GetDefaultFolder(olFolderSentMail).Items
      Set objNS = Nothing
    End Sub
     
     
    Private Sub olSentItems_ItemAdd(ByVal Item As Object)
     
      On Error Resume Next
      Dim prompt As String
      Dim countDays As Long
     
      countDays = InputBox("How many days from now?")
     
           If SetFlag = vbYes Then
     
       With Item
        .MarkAsTask olMarkThisWeek
        .TaskDueDate = Now + countDays
        .ReminderSet = True
        .ReminderTime = Now + countDays
        .Save
       End With
           End If
    SetFlag = vbNo
    End Sub
     
    Sub SayYes()
    SetFlag = vbYes
    End Sub

  10. #10
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    as tu vu ce message ?
    tu disais pas qu'il fallait un rappel à 30 jours ?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    as tu vu ce message ?
    tu disais pas qu'il fallait un rappel à 30 jours ?
    Le message ?

    Non pas forcément c'est pourquoi j'utilise ce code comme indiqué précédemment dans la discussion pour pouvoir avoir un rappel + tache en fonction du nombre de jour que je tape dans l'inputbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .TaskDueDate = now + countDays
    Le problème est que je gère mal le If then Else et donc une fois que j'ai cliqué sur le bouton pour activer la macro pour un mail, elle reste activée pour tout les autres mails que je veux envoyer.

  12. #12
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par YannQMRX Voir le message
    Le message ?

    Non pas forcément c'est pourquoi j'utilise ce code comme indiqué précédemment dans la discussion pour pouvoir avoir un rappel + tache en fonction du nombre de jour que je tape dans l'inputbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .TaskDueDate = now + countDays
    Le problème est que je gère mal le If then Else et donc une fois que j'ai cliqué sur le bouton pour activer la macro pour un mail, elle reste activée pour tout les autres mails que je veux envoyer.
    oups --> https://www.developpez.net/forums/d1...e/#post9411860

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Ah oui merci!

    Seulement la macro est plus rapide! Nous envoyons des dizaines de mails par jour donc cette macro permettrait d'aller plus vite

    Une idée sur le problème ?


    En tout cas merci de prendre le temps pour me répondre j'apprécie !

  14. #14
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Si tu répondais à toutes mes questions cela irait plus vite !

    Veux tu un rappel sur tous les Emails envoyés ? ou juste ceux contenant une PJ ? ou un mot dans le sujet comme DEVIS ?

  15. #15
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Moi je ferais comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    '---------------------------------------------------------------------------------------
    ' Procedure : Application_ItemSend
    ' Author    : OLIV
    ' Date      : 30/06/2017
    ' Purpose   : TACHE LORS DE L'ENVOI
    '---------------------------------------------------------------------------------------
    '
     
        If Not Item.Class = olMail Then GoTo fin
     
        If Item.Attachments.Count > 0 And (InStr(1, Item.Body, "Devis", vbTextCompare) > 0 Or InStr(1, Item.Subject, "Devis", vbTextCompare) > 0) Then
            Item.GetInspector.CommandBars.ExecuteMso ("FlagCustom")
        End If
     
    fin:
    End Sub
    si la personne ne veut pas de TACHE elle clique sur annuler, après on peut forcer la création de tâche en insérant une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Item.GetInspector.CommandBars.ExecuteMso ("FlagNextWeek")
    'ou "FlagToday","FlagThisWeek", ("FlagNoDate")
    avant le FlagCustom

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 30/04/2018, 09h57
  2. Réponses: 14
    Dernier message: 25/04/2009, 14h47
  3. [E-02] utiliser une variable récupérée par inputbox
    Par Picotman56 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2009, 10h33
  4. utilisation des inputbox
    Par observeur dans le forum Tkinter
    Réponses: 2
    Dernier message: 14/05/2008, 18h19
  5. Réponses: 4
    Dernier message: 14/12/2007, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo