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 :

Enum Type dans paramètres de Sub


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut Enum Type dans paramètres de Sub
    Bonjour,

    J'essaie d'utiliser un type lors d'une Sub (shellExecute en l'occurence).

    Début de mon 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
    39
    Option Compare Database
    Option Explicit
     
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long
     
    Public Enum TypeOuverture
     
        impression = 1
        ouverture = 2
     
    End Enum
     
    Public Sub OuvrirDocument(strCheminFichier As String, strTypeOuverture As TypeOuverture)
     
    '--------------------------------------------------------------------------------------------
    ' Projet          : Interface Windows
    ' Auteurs         : Romain Puyfoulhoux - http://access.developpez.com
    '                   Christophe Warin (Tofalu) - http://access.developpez.com
    '                   pour la gestion des erreurs
    ' Version / Date  : 1.0 / 01.01.2008
    ' Révision / Date : -
    ' Commentaires    : Permet d'ouvrir un fichier sans déclarer l'application a utiliser
    '
    '                   Exemple d'appel OuvrirDocument ("C:\Projets Access\Exemple.doc")
    '
    ' Lien            : http://access.developpez.com/faq/?page=Automation#shellexecute
    '--------------------------------------------------------------------------------------------
     
        'Déclaration des variables
        Dim strDescriptionErreur As String
     
        'Select Case ShellExecute(0, "open", strCheminFichier, vbNullString, vbNullString, 1)
        Select Case ShellExecute(0, strTypeOuverture, strCheminFichier, vbNullString, vbNullString, 1)
    Le but étant bien entendu de passer le paramètre impression ou ouverture.

    Lorsque je veux appeler ma sub, l'éditeur me propose bien mon Type, ça c'est ok, mais j'ai une erreur à la compilation : Attendu : =

    Voici l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OuvrirDocument("C:\Projets Access\Test.doc", ouverture)
    Merci de votre aide.

    Domi2

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Par défaut
    Ton appel doit référer à une valeur de format texte

    alors essaie ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Enum TypeOuverture
        impression = "1"
        ouverture = "2"
    End Enum

  3. #3
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    Malheureusement, même résultat...

    Merci de ton aide.

    Domi2

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Par défaut
    Faudrait peut-être reconsidérer la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Sub OuvrirDocument(strCheminFichier As String, strTypeOuverture As TypeOuverture)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Sub OuvrirDocument(strCheminFichier As String, strTypeOuverture As String)
    car le 2ième argument de la fonction ShellExecute exige une valeur de type String et non de type TypeOuverture ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpOperation As String, _
            ByVal lpFile As String, _
            ByVal lpParameters As String, _
            ByVal lpDirectory As String, _
            ByVal nShowCmd As Long) As Long

  5. #5
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    Merci de te pencher sur mon problème...

    Je vais faire des tests sur une sub plus simple pour vérifier les valeurs obtenues...

    Domi2

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Par défaut
    Au lieu de déclarer un Enum,

    je déclarerais deux constantes ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public Const IMPRESSION As String = "1"
    Public Const OUVERTURE As String = "2"
    Puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Sub OuvrirDocument(strCheminFichier As String, strTypeOuverture As String)
    Finalement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OuvrirDocument("C:\Projets Access\Test.doc", OUVERTURE)

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

Discussions similaires

  1. [Débutant] Paramètre Type dans une fonction
    Par noftal dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/12/2013, 13h54
  2. Réponses: 3
    Dernier message: 18/09/2009, 09h20
  3. type doublement paramétré dans une fonction
    Par merill dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2009, 12h54
  4. Type de paramètre dans une fonction
    Par preempalver dans le forum Flash
    Réponses: 1
    Dernier message: 22/11/2007, 14h06
  5. type de paramètre dans une procédure stockée
    Par shirya dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/03/2007, 19h08

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