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 :

Comment exécuter un code en fonction d'une valeur? [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut Comment exécuter un code en fonction d'une valeur?
    Bonsoir !
    Pouvez-vous m'aider SVP
    J'ai un formulaire Menu1 qui propose 4 options ,il comporte un champ
    choix dans lequel est saisi le N° de l'option choisie
    1/comment écrire un macro qui en fonction de l'option dans champ
    CHOIX va exécuter une autre macro :
    CHOIX =1 provoque le lancement de la macro 'Mac 1'
    CHOIX = 2 provoque le lancement de la macro 'Mac 2'
    2/Comment modifier la macropour prendre en compte les erreurs de
    saisie de l'utilisateur comme :
    - Saisie d'un nombre diffrérence de 1,2,3 ou 4
    -Saisie d'un caractere alphabétique
    -Pas de saisie effectuée
    dans 3 cas il faut affichier un message avertissant l'utilisateur de son
    erreur
    Merci d'avance
    ps: ce n'est pas le macro VBA mais il est sur langage de macros

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Par défaut
    bonsoir,
    Pour éviter les erreurs de saisie, si on sait d’avance les choix à faire, faire une liste déroulante avec les choix possible et limiter les saisies à la liste.
    Pour le lancement des macros ou subroutines sur l’évènement clic par exemple de la zone de liste faire le choix avec fonction « select case » -
    Exemple une zone de liste déroulante avec comme valeur 1,2,3 son nom Selection :
    Sur son évènement sur clic :
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Selection_Click()
    Ind = Me.Selection.Value
    Select Case Ind
        Case 1
        DoCmd.RunMacro "Mac 1"
        Case 2
        DoCmd.RunMacro "Mac 2"
        Case 3
        DoCmd.RunMacro "Mac 3"
    End Select
     
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut
    Bonjour !
    Merci a vous mais est ce que la réponse c'est la question 1 ou question 2 ?et le formulaire 'menu 1" avec le champ choix comment écrire ,Aidez-moi encore Svp merci encore d'avance

  4. #4
    Membre expérimenté Avatar de psykodumarteau
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Selection_Click()
    Ind = Me.Selection.Value
    Select Case Ind
        Case 1
        DoCmd.RunMacro "Mac 1"
        Case 2
        DoCmd.RunMacro "Mac 2"
        Case 3
        DoCmd.RunMacro "Mac 3"
        Case else
        MsgBox "erreur de saisie"
    End Select
     
    End Sub

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Par défaut
    Bonjour !
    merci à vous mais pour écrire un macro qui en fonction de l'option dans le champ "choix " va exécuter ene autre macro ?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Le Vieux et Psykodumarteau t'ont donné la solution.

    As-tu testé? As-tu un problème pour la mettre en place?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [Animation] Comment exécuter du code à la fin d'une animation ?
    Par Finality dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 12/10/2008, 11h44
  2. Réponses: 5
    Dernier message: 31/01/2008, 17h05
  3. Réponses: 44
    Dernier message: 02/08/2006, 16h12
  4. Réponses: 10
    Dernier message: 25/11/2005, 17h12
  5. Réponses: 7
    Dernier message: 03/02/2005, 17h20

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