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éer mon premier module VBA [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut Créer mon premier module VBA
    Bonjour,

    J'ai recherché dans les tutos, pour créer un module avec une fonction personnalisée mais je n'ai pas trouvé, je voudrai en effet créer une fonction qui mettrait automatiquement une lettre dans un champ d'une requête ou d'un formulaire de saisie au fur et à mesure des saisies.

    Je m'explique:

    pour une gestion de mouvement d'animaux j'ai déjà un module qui me calcule l'âge à partir de la date de naissance, donc si l'âge obtenu est compris entre 0 et X et que le sexe de l'animal est = M avec pour destination "reproducteur"
    Access doit écrire Mâle reproducteur de 1 an.

    âge calculé par Access 090914 soit 9 ans 9 mois 14 jours
    Sexe F
    Destination : "engraissement"
    Access doit retourner Femelle de réforme de + de 36 mois par exemple.

    J'ai dans ma table catégorie 39 catégories différentes mâles et femelles.

    C'est possible ? si oui comment puis-je démarrer ?

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    J'ai écrit ce code sur l'événement après mise à jour du champ "FILIERE"
    mais je pense que l'on faire plus simple.

    Pourriez-vous me donner une solution ?

    Merci d'avance

    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
    Private Sub FILIERE_AfterUpdate()
    If âge > 0 And 300 Then
    Me.CATEGORIE = "C"
    If âge > 300 And 600 Then
    Me.CATEGORIE = "D"
    If âge > 600 And 10000 Then
    Me.CATEGORIE = "E"
    If âge > 10000 And 10600 Then
    Me.CATEGORIE = "F"
    If âge > 10600 And 20000 Then
    Me.CATEGORIE = "G"
    If âge > 20000 Then
    Me.CATEGORIE = "H"
     
    End If
    End If
    End If
    End If
    End If
    End If
     
    End Sub

  3. #3
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    En gros pour mon code ci-dessus je voudrai le transformer dans un module pour qu'il soit utilisable dans plusieurs requêtes et états.

    c'est possible ?

    Rappel du 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
    Private Sub FILIERE_AfterUpdate()
    If âge > 0 And 300 Then
    Me.CATEGORIE = "C"
    If âge > 300 And 600 Then
    Me.CATEGORIE = "D"
    If âge > 600 And 10000 Then
    Me.CATEGORIE = "E"
    If âge > 10000 And 10600 Then
    Me.CATEGORIE = "F"
    If âge > 10600 And 20000 Then
    Me.CATEGORIE = "G"
    If âge > 20000 Then
    Me.CATEGORIE = "H"
     
    End If
    End If
    End If
    End If
    End If
    End If
     
    End Sub
    merci d'avance

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Quel intérêt de vouloir faire un module, surtout après ce que tu as déjà fait Nounours?

  5. #5
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    Merci

    Oui mais lorsque je modifie ma date dans mon formulaire principal le champ catégorie ne se met pas à jour.

    sauf si je clique sur chaque ligne.

  6. #6
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    dans ma requête j'ai fais ceci :

    dans un champ calculé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a: VraiFaux([âgechiffre] Entre 0 Et 300;"C";VraiFaux([âgechiffre] Entre 300 Et 600;"D";VraiFaux([âgechiffre] Entre 600 Et 10000;"E";VraiFaux([âgechiffre] Entre 10000 Et 10600;"F";VraiFaux([âgechiffre] Entre 10600 Et 20000;"G";VraiFaux([âgechiffre]>20000;"H";""))))))
    Puis ensuite sur l'événement de l'entré du formulaire j'ai écrit:

    Me.CATEGORIE = Me.a
    Me.CATEGORIE.REQUERY

    End sub

    si je clique sur chaque ligne mon champ categorie se met à jour alors que je voudrai qu'il s'y mettre tout seul.

    Encore merci.

  7. #7
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Faudrait voir à quoi ressemble ton formulaire. Mais il faut à mon avis creuser sur la voie de l'évènement des contrôles.

  8. #8
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Ben j'ai pas vraiment compris ce que tu voulais faire, mais l'important c'est que ça marche. Sinon pour le Select case:

    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
    Private Sub FILIERE_AfterUpdate()
     
    Select Case âge
        Case Is < 300
            Me.CATEGORIE = "C"
        Case Is < 600
            Me.CATEGORIE = "D"
        Case Is < 10000
            Me.CATEGORIE = "E"
        Case Is < 10600
            Me.CATEGORIE = "F"
        Case Is < 20000
            Me.CATEGORIE = "G"
        Case Else
            Me.CATEGORIE = "H"
    End Select

  9. #9
    Membre éclairé Avatar de Nounours1
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 442
    Par défaut
    Merci beaucoup pour le code, c'est bien que je voulais.

    @+

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

Discussions similaires

  1. [1.x] Demande de conseils sur mon premier module (messagerie privée)
    Par Nanocom dans le forum Débuter
    Réponses: 1
    Dernier message: 08/05/2011, 11h37
  2. [XL-2003] Une question concernant mon module VBA pour envoi des mail en masse.
    Par dariyoosh dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2010, 16h03
  3. créer mon premier programme
    Par fanfantasy7 dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 04/03/2008, 10h30
  4. créer mon premier widget
    Par Alex35 dans le forum VB.NET
    Réponses: 6
    Dernier message: 18/12/2007, 17h55
  5. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40

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