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

Macros et VBA Excel Discussion :

Création tâche Outlook à partir d'un tableau Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur process
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Par défaut Création tâche Outlook à partir d'un tableau Excel
    Bonjour, j'espère que vous allez bien

    Mon problème est comme suit : J'ai un planning sur Excel sous forme de tableau contenant des noms d'équipements dans une colonne et dans la colonne suivante des dates du contrôle prochain de ces équipements. J'ai essayé de créer une macro pour permettre à partir de ce tableau de créer une tâche qui va s'afficher sur ma messagerie Outlook un jour avant la date du contrôle prévu. Malheureusement, le programme ne marche pas comme il faut, et avec mon niveau faible en VBA, je ne sais plus comment avancer.

    Je vous écris ici mon code pour plus de clartés, sachant que A et B sont les colonnes qui contiennent respectivement le nom de l'équipement et la date (les données commencent à partir de la ligne 2)

    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
    Sub NouveauRDV_Calendrier()
    'nécéssite d'activer la référence Microsoft Outlook 10.0 Object Library
    Dim myOlApp As New Outlook.Application
    Dim MyItem As Outlook.AppointmentItem
    Dim Cell As Range
     
    For Each Cell In Range("A2:A" & Range("A6").End(xlUp).Row)
        Set MyItem = myOlApp.CreateItem(olAppointmentItem)
     
        With MyItem
            .MeetingStatus = olNonMeeting
            .Subject = Cell.Offset(1, 0)
            .Start = Cell.Offset(1, 1)
            .Save
        End With
     
        Set MyItem = Nothing
    Next Cell
     
    End Sub
    Merci à vous !

  2. #2
    Candidat au Club
    Femme Profil pro
    Ingénieur process
    Inscrit en
    Juin 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur process
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 2
    Par défaut
    Aucune réponse?

    Bon un autre problème est apparu : lorsque les cellules contenant les dates sont vides, la tâche est créée quand même (avec une date aléatoire). Donc j'ai essayé d'ajouter la condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty (cell) then
    ....

    (Après (for each))


    Mais ça n'a pas réglé le problème.

    Des suggestions?

    merci

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 253
    Par défaut
    hello,
    il faudrait que tu nous montres ce que tu as dans ta feuille excel. Tu as peut-être des soucis avec les Offsets.
    Avec ce 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
    Sub NouveauRDV_Calendrier()
    'nécéssite d'activer la référence Microsoft Outlook 10.0 Object Library
    Dim myOlApp As Object
    Dim MyItem As Outlook.AppointmentItem
    Dim Cell As Range
    On Error Resume Next
    Set myOlApp = GetObject(, "Outlook.Application")
    If myOlApp Is Nothing Then Set myOlApp = CreateObject("Outlook.Application")
    On Error GoTo 0
    If Not myOlApp Is Nothing Then
    For Each Cell In Sheets("Feuil2").Range("A2:A4")
        ' on teste si il n'y a pas de date
        If Not IsEmpty(Cell.Offset(0, 2)) Then
         Set MyItem = myOlApp.CreateItem(olAppointmentItem)
     
          With MyItem
            .MeetingStatus = olNonMeeting
            .Subject = Cell.Offset(0, 1)
            .Start = Cell.Offset(0, 2)
            .Save
          End With
     
         Set MyItem = Nothing
        End If
    Next Cell
    End If
    End Sub
    j'obtiens ceci dans outlook (2010) :
    Nom : Excel-Outlook.png
Affichages : 1371
Taille : 45,3 Ko

    Ami calmant, J.P

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/06/2012, 09h08
  2. [XL-2007] Créer un fichiers .ics à partir d'un tableau excel adapté pour outlook
    Par XceSs dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/03/2012, 20h14
  3. Créer une tâche Outlook à partir d'un chiffrier excel
    Par mfmf99 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/10/2008, 17h03
  4. [FTP] Créations de dossiers à partir d'un tableau
    Par Marshall_Mathers dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2007, 17h44
  5. Réponses: 52
    Dernier message: 23/05/2006, 12h08

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