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 :

Code VBA qui ne fonctionne pas


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de DJOUFOU
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 167
    Par défaut Code VBA qui ne fonctionne pas
    Bonjour,
    J'ai ce code pour mon Formulaire Accueil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
    If Me.Niveau = 3 Then
    Me.Chèques_autres_fournisseurs.Enabled = False
    ElseIf Me.Niveau = 4 Then
    Me.Chèques_ACG.Enabled = False
    End If
    End Sub
    Le formulaire s'ouvre lorsque je clic sur le bouton valider de ma boite de connexion dont voici le 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 Commande6_Click()
    If [login] = "" Or [mdp] = "" Then
    MsgBox "Veuillez renseigner tous les champs.", vbOKOnly, "FreeMan connexion"
    ElseIf StrComp([Conca], [connexionconcatener], vbBinaryCompare) = 0 Then
    Me.Visible = False
    DoCmd.OpenForm "Accueil"
    Forms("Accueil").user = Me.Utilisateur
    Forms("Accueil").Niveau = Me.Niveau
    Else
    MsgBox "Identifiants incorrects. Veuillez réessayer.", vbInformation + vbOKOnly, "FreeMan Connexion"
    End If
    End Sub
    le problème se trouve avec le formulaire ACCUEIL qui marche pas. Quand je clic sur le bouton valider de connexion, le formulaire Accueil s'ouvre mais le code ne fonctionne pas correctement.
    Bizarrement quand je passe en mode creation avant de revenir en mode formulaire, ça marche.
    Etant donné que l'utilisateur ne pourra pas passer en mode creation, il faut que je trouve une solution.
    Merci de m'aider a comprendre pourquoi mon code ne marche pas.

    Merci d'avance

  2. #2
    Membre Expert Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Par défaut
    Bonjour.
    Tu ne précises pas ce qui "ne marche pas"! J'imagine que ce sont les instructions en lignes 7 et 8... Essaie un Refresh du formulaire accueil après la ligne 8.
    Cordialement.

  3. #3
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Effectivement, qu'est-ce qui ne fonctionne pas ? le bug se situe à quelle ligne ? et dans quelle partie du module ?
    PS: est-ce que "niveau" est défini comme texte ou comme nombre ?

  4. #4
    Membre confirmé Avatar de DJOUFOU
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 167
    Par défaut
    Tu ne précises pas ce qui "ne marche pas"! J'imagine que ce sont les instructions en lignes 7 et 8... Essaie un Refresh du formulaire accueil après la ligne 8.
    Cordialement.
    Bien j'essayerais d'être pus explicite. les utilisateurs se connectent a partir du formulaire connexion. Chaque utilisateur a un niveau allant de 1 a 7 qui lui donne droit a certains contrôles. Dès que le login et le MDP sont bons, le formulaire Accueil s'ouvre et en fonction du niveau de l'utilisateur va rendre actif ou non actif certains onglets.
    Mais le problème, le formulaire Accueil ne désactive pas certains onglets à l'ouverture comme le veut le code VBA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
    If Me.Niveau = 3 Then
    Me.Chèques_autres_fournisseurs.Enabled = False
    ElseIf Me.Niveau = 4 Then
    Me.Chèques_ACG.Enabled = False
    End If
    End Sub
    le code ne fonctionne que lorsque je passe du mode création au mode formulaire, là ça fonctionne correctement. les onglets qui doivent être désactivés le sont et ceux qui doivent restés actifs le sont aussi.
    est-ce que "niveau" est défini comme texte ou comme nombre ?
    Niveau dans le formulaire accueil est un textbox indépendant qui accueil des nombres. dans la Table utilisateurs c'est un champ calculé.

    Merci.
    je l'ai mis dans l'évènement sur ouverture du formulaire, rien, je l'ai mis dans l'évènement sur activation du formulaire, rien.

  5. #5
    Membre habitué
    Avatar de Iron_dams
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Billets dans le blog
    1
    Par défaut Enable dans propriété?
    As-tu essayer de désactiver tous les onglets de ton formulaire et les activer à la connexion. Quand je parle de les désactiver, je veux dire dans les propriétés, comme ça, par défaut ils sont désactivés.

    I_D

  6. #6
    Membre Expert Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Par défaut
    Après ton complément d'information, il me semble évident que le problème se situe au niveau de la chronologie des événements :
    1. Tu ouvres le Formulaire d'accueil après par clic sur le bouton de ta boîte de connexion.
    2. les événements liés à l'ouverture du formulaire d'accueil se déroulent : or, à ce moment, la valeur de niveau n'est pas encore attribuée!
    3. Les valeurs du User et Niveau sont attribuées : pas d'effet, puisque les If .... ElseIf... ont déjà été évalués.
    Donc un refresh après attribution des valeurs est nécessaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DoCmd.OpenForm "Accueil"
    Forms("Accueil").user = Me.Utilisateur
    Forms("Accueil").Niveau = Me.Niveau
    Forms("Accueil").Refresh
    Au pire tu pourrais ouvrir en mode création et refermer aussitôt, ce qui réglerait sans doute ton souci, mais d'une manière qui s'apparente plus à de la "bidouille".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    DoCmd.OpenForm "Accueil"
    Forms("Accueil").user = Me.Utilisateur
    Forms("Accueil").Niveau = Me.Niveau
    DoCmd.OpenForm "Accueil", acDesign
    DoCmd.Close acForm, "Accueil", acSaveNo
    DoCmd.OpenForm "Accueil", acNormal
    Cordialement.

Discussions similaires

  1. Code VBA qui ne fonctionne pas et ne retourne pas d erreurs
    Par Eddy95500 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/10/2015, 12h51
  2. Code Javascript qui ne fonctionne pas d'une page à l'autre
    Par Vict0 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 06/03/2011, 22h44
  3. [XL-2007] Pb de code VBA qui ne fonctionne plus
    Par rch05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2011, 07h41
  4. macro pour code barre qui ne fonctionne pas comme elle devrait
    Par scons dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/11/2009, 13h09
  5. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17

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