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

VBA Access Discussion :

Création rdv outlook via Access


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Création rdv outlook via Access
    Bonjour à tous,

    Voilà j'ai vraiment besoin de vous pour m'éclairer
    Je vous explique.
    Je suis sur access et ce que j'aimerai c'est créer un rdv outlook depuis access.

    J'ai un formulaire qui contient un numéro de convention (Me.N°) et un sous formulaire avec comme champ:
    date formation
    heure début matin
    heure fin matin
    heure début am
    heure fin am

    Ce que j'aimerai c'est que pour chaque date de la convention (une convention peut se faire sur plusieurs date...), un rdv se créé.

    Je vous donne une exemple.
    N° = 1000
    date formation = 01/06/2012 date formation = 02/06/2012
    heure début matin = 8:30 heure début matin = 8:30
    heure fin matin = 12:30 heure fin matin = 12:30
    heure début am = 14:00 heure début am = 00:00
    heure fin am = 17:00 heure fin am = 00:00

    A partir de cet exemple, j'aimerai que des rdv se créent sur outlook aux dates indiquées ainsi qu'aux horaires indiquées...

    J'ai déjà fais une grosse partie du code.
    Seulement, quand je fais ça, il boucle à l'infini.
    J'ai donc une infinité de rdv qui se créent et seulement pour la première date c'est à dire 01/06/2012.


    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Private Sub Commande66_Click()
     
    Dim db As Database
    Dim Rst As Dao.Recordset
    Dim objOutlook As New Outlook.Application
    Dim objOutlookAppt As Outlook.AppointmentItem
    Dim oEmail As Outlook.MailItem
    Dim HTM, HTAM, DM, DAM As Date
    Dim sql As String
     
    sql = "SELECT [date formation] FROM [dates et horaires Convention] WHERE [dates et horaires Convention]![N° Convention] = " & Me.N° & ""
    Set db = CurrentDb
    Set Rst = CurrentDb.OpenRecordset(sql)
     
    While Not Rst.EOF
     
    Set HFAM = Forms![Formulaire_Modification_Conventions].Form![SSF Dates et horaires formation]![Heure Fin AM]
    Set HDAM = Forms![Formulaire_Modification_Conventions].Form![SSF Dates et horaires formation]![Heure Début AM]
    Set HFM = Forms![Formulaire_Modification_Conventions].Form![SSF Dates et horaires formation]![Heure Fin Matin]
    Set HDM = Forms![Formulaire_Modification_Conventions].Form![SSF Dates et horaires formation]![Heure Début Matin]
    Set dte = Forms![Formulaire_Modification_Conventions].Form![SSF Dates et horaires formation]![Date Formation]
     
        Set objOutlookAppt = objOutlook.CreateItem(olAppointmentItem)
        Set oEmail = objOutlook.CreateItem(olMailItem)
        With objOutlookAppt
     
       .MeetingStatus = olMeeting
       .Recipients.Add "John Doe"
     
       If HDM = "00:00" Then
       .Start = dte & " " & HDAM
       .End = dte & " " & HFAM
       Else
       If HDAM = "00:00" Then
       .Start = dte & " " & HDM
       .End = dte & " " & HFM
       Else
       .Start = dte & " " & HDM
       .End = dte & " " & HFAM
       End If
       End If
     
       .Subject = Me.Formation & " " & Me.Formateur
       .Body = "Test"
       .ReminderSet = False
       .BusyStatus = olOutOfOffice
       .Display
       .Save
       .Send
     
        End With
     
    Set objOutlookAppt = Nothing
    Set objOutlook = Nothing
     
    Wend
    Rst.Close
    End Sub

    Voilà mon code.

    Quelqu'un peut-il m'indiquer comment faire ????


    Merci beaucoup

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 798
    Points : 14 865
    Points
    14 865
    Par défaut
    Bonsoir,
    Voici ce que tu peux corriger :
    - il manque l'instruction Rst.Movenext pour passer à l'enregistrement suivant, ce qui explique pourquoi tu ne peux pas sortir de ta boucle, place-la juste avant l'instruction Wend
    - il est inutile de charger tes variables à chaque lecture du recordset, tu peux donc retirer les 7 instructions Set de ta boucle et les déplacer juste avant le While, idem pour tes 2 instructions Set de fin que tu dois placer juste après Rst.close.

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Tu peux également utiliser le code source (fonction) de cette contribution:

    Outlook - Créer des rendez-vous dans un calendrier

    Bonne lecture...

Discussions similaires

  1. [AC-2003] Envoi outlook via ACCESS
    Par Rickhq dans le forum VBA Access
    Réponses: 4
    Dernier message: 11/02/2013, 22h34
  2. [AC-2007] Trouver un contact Outlook via Access
    Par Gaetan57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/11/2012, 18h34
  3. [OL-2003] Création macro outlook via excel
    Par kuan01 dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 19/10/2011, 10h06
  4. Piloter outlook via access
    Par master83 dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/06/2007, 09h08
  5. Réponses: 8
    Dernier message: 23/01/2007, 21h02

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