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 :

Argument non facultatif sur appel fonction


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut Argument non facultatif sur appel fonction
    Bonjour à tous,

    1/ Je teste en ce moment ce code permettant d'envoyer ver outlook depuis Access, or, lorsque je fais un call sur la fonction il me dit "Argument non facultatif" , pourquoi ?

    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
    Public Sub EnvoyerMailOutlook(Recipient As String, Subject As String, Body As String, Optional Attach As Variant)
     
     Dim I As Integer
        Dim oEmail As Outlook.MailItem
        Dim appOutLook As Outlook.Application
     
        ' Créer un nouvel item mail
     
        Set appOutLook = New Outlook.Application
        Set oEmail = appOutLook.CreateItem(olMailItem)
     
        ' Les paramètres
     
        oEmail.To = Me.Destinataire
        oEmail.Subject = Me.Objet
        oEmail.Body = Me.Body
     
        If Not IsMissing(Attach) Then
     
           If TypeName(Attach) = "String" Then
     
                 ' S'il y a des pièces jointes
                oEmail.Attachments.Add Attach
     
            Else
     
                For I = 0 To UBound(Attach) - 1
                oEmail.Attachments.Add Attach(I)
     
                Next
     
            End If
     
        End If
     
        ' Envoie le message
        oEmail.Send
     
        ' Détruit les références aux objets
        Set oEmail = Nothing
     
        Set appOutLook = Nothing
     
    End Sub
    2/ j'ai fait une simple table mais je voudrais qu'elle puisse contenir la référence aux pièces jointes à envoyer en mail, y a t'il un tuto pour cela ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Bonsoir,

    Si le Call est à l'origine du problème, tu peux nous montrer cette ligne !

    Recipient, Subject et Body ne sont pas facultatif il faut donc passer une valeur à ces paramètres

    Dolphy

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut
    Merci pour ta réponse,

    Et bien ces paramètres sont renseignés puisque cela reprend les champs du formulaire ...

    Quant à mon Call, si je déclare les champs dans les parenthèses il bloque en disant : "utilisation incorrecte de Me".

    Quoi faire ?

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    Désolé mais on a pas encore créer un API "Boule de cristal", donc montre nous la ligne qui te pose problème et on pourra peut être t'aider.

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 816
    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 816
    Points : 14 909
    Points
    14 909
    Par défaut
    Bonsoir,
    Je suppose que l'appel de ton sub à partir de ton formulaire ressemble à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call EnvoyerMailOutlook(Me.Recipient , Me.Subject, Me.Body, Me.Attach)
    La syntaxe est correcte car Me fait référence à ton formulaire courant.
    Par contre dans ton Public Sub tu dois enlever les Me. devant tes variables car ton Sub ne les connait pas, il utilise celles que tu lui as donné en paramètre c'est à dire :
    Recipient, Subject , Body, Attach et c'est ceux-là que tu dois utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        oEmail.To = Recipient
        oEmail.Subject = Subject
        oEmail.Body = Body

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 115
    Points : 274
    Points
    274
    Par défaut
    Je vous remercie tous les deux, ça marche.

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

Discussions similaires

  1. [AC-2013] Appel d'une procédure, argument non facultatif ?
    Par rag83 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/01/2015, 17h51
  2. [AC-2010] Argument non-facultatif sur appel d'un champ formulaire continu
    Par myrddin99 dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/09/2013, 23h33
  3. "Argument non valide" sur requête
    Par KEROZEN dans le forum Access
    Réponses: 4
    Dernier message: 15/08/2007, 20h35
  4. Erreur, argument non valide sur IE
    Par Babssss dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2007, 07h08
  5. erreur de compilation: argument non facultatif
    Par MCarole dans le forum Access
    Réponses: 10
    Dernier message: 21/07/2006, 13h32

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