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

Access Discussion :

Case à cocher + Vba ... Problème ...


Sujet :

Access

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut Case à cocher + Vba ... Problème ...
    Bonjour à tous ...

    Je suis en train de développer un projet sur Access 2003 et j'ai un petit problème ...

    J'ai un formulaire contenant une dizaine de champ et 2 sous-formulaires ainsi qu'une case à cocher que les utilisateurs du formulaire ne voient pas ...

    En fait j'aimerais que ma case à cocher soti cocher lorsque l'utilisateur rentre une valeur dans un de mes champs d'un de mes sous fomulaire ...

    Si je m'exprime mieux, cela donne :

    Si le champ visa_sortie est rempli alors on coche la case à cocher
    Si le champ visa_sortie n'est pas rempli alors on ne coche pas la case à cocher et on renvoir un msgbox ...

    En fait le problème que j'ai c'est que je ne sais pas comment faire pour cocher une case à cocher en VBA ...

    Pouvez-vous m'aiguiller ??? ???

    Merci de vos réponse et à tout bientôt ...

  2. #2
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut, une case à cocher est un type booleen.
    Donc .Value = True/False

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    oki ça je le savais pas de soucis ...

    Donc je résume ...

    Le code que je vais faire pour programmer la case à cocher je vais le mettre sur un bouton que j'ai créer pour quitter le formulaire ( si je le mets là c'est parceque je doit obligatoirement cliquer sur ce bouton pour quitter le formulaire donc je vais tout mes tests sur ce bouton.

    Alors en ce qui concerne la case à cocher, ce que je fais c'est que je mets un truc du style :

    If (champ visa rempli ) then
    nom_case_a_cocher.value = true
    else
    nom_case_a_cocher.value = false
    end if

    C'est bien cela ???

    merci pour vos réponse ... je vais tester ce que je viens de marquer comme "code" ... car ouais c'est plus un ptit algorithme que du code ...

  4. #4
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Alors voila je viens d'essayer ...

    En fait ce que j'ai fait, je fais mon test directement sur mon chamo visa_sortie qui est dans un sous-formulaire ... j'ai un petit problème en faisant cela comme ça ... je vous explique ...

    J'ai un formulaire qui se nomme : FRM_controle_des_poids_entree_matiere dans lequel j'ai un sous-formulaire qui contient le champ visa_sortie et qui se nomme : SOUS_FRM_controle_des_poids_entree_matiere_visa

    en fait voici le code que j'ai mit sur l'évènement lost focus de mon champ visa_sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub visa_sortie_destination_LostFocus()
     
    If IsNull(visa_sortie_destination) Then
        FRM_controle_des_poids_entree_matiere.quittancer_mouvement.Value = False
    Else
        FRM_controle_des_poids_entree_matiere.quittancer_mouvement.Value = True
    End If
     
    End Sub
    Lorsque je vais dans mon sous-formulaire et que je rentre du texte dans le champ visa_sortie pas de problème et d'après le code que j'ai écrit lorsque je quitte mon champ, ma case à cocher devrait se cocher et cela n'est pas le cas. Lorsque je ferme mon formulaire, il me vient une erreur qui me dit :

    Erreur '424'

    Type d'objet requis ...

    Savez-vous d'ou vient le problème ???


    Merci pour vos réponses ...

  5. #5
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt,
    Pourquoi n'oblige tu pas la saisie de ce champ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If isnull (Monchamp) then
    Msgbox ("vous devez saisir Monchamp !")
    Me.Monchamp.setFocus
    Else
    'Donc il est rempli, je continu la saisi en passant le focus a un autre champ
    Me.AutreChamp.SetFocus
    End if

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    salut,

    Je crois que c'est l'appel du formulaire principal qui n'est pas bon.

    Depuis un sous-formulaire tu peux utiliser parent pour spécifier le formulaire parent.
    Ceci dit une chaîne vide n'est pas forcément null, il vaut mieux donc tester avec la fonction nz.
    Enfin moi je metterais un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub visa_sortie_destination_LostFocus() 
        parent.quittancer_mouvement.Value = Not nz(visa_sortie_destination) = ""
    End Sub
    Si la mise à jour de la case à cocher ne se fait c'est que tu n'utilises peut-être pas le bon événement.
    Tu as mis un point d'arrêt pour vérifier que le code est bien exécuté?

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    je doit obligatoirement cliquer sur ce bouton pour quitter le formulaire donc je vais tout mes tests sur ce bouton.
    Et si on quitte sans le bouton ?

    Par exemple Alt F4 ou bien la barre des taches ?

  8. #8
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Tofalu à dit :

    Et si on quitte sans le bouton ?

    Par exemple Alt F4 ou bien la barre des taches ?
    C'est vrai je n'y avait pas pensé ... je vais voir si j'ai des autres moyens de faire ... Je vais faire quelque recherche sur Internet ...

    Arkham46 à dit :

    Je crois que c'est l'appel du formulaire principal qui n'est pas bon.
    Depuis un sous-formulaire tu peux utiliser parent pour spécifier le formulaire parent.
    Ceci dit une chaîne vide n'est pas forcément null, il vaut mieux donc tester avec la fonction nz.
    Le problème venait en effet de l'appel de mon formulaire ... Merci pour ton aide ... ...

    Alors étant donné que ce sujet est à moitié résolu je vais mettre RESOLU car mon problème principal est résolu ...

    En ce qui concerne ce que Tofalu m'a dit je vais faire des recherches et si je ne trouve pas ce que je veux je vais créer un nouveau poste ...

    Merci à tout le monde ...

    Bonne journée ...

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

Discussions similaires

  1. [VBA UPDATE] Problème UPDATE et cases à cocher
    Par rungis78-76 dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/10/2009, 08h39
  2. [VBA] Débutant Case à cocher
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/10/2005, 13h13
  3. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23
  4. Cases à cocher sous VBA
    Par dran dans le forum Général VBA
    Réponses: 4
    Dernier message: 15/11/2004, 21h50

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