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

IHM Discussion :

Faire apparaitre un bouton


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Faire apparaitre un bouton
    Bonjour

    Voilà je n'y connais rien en VB mais je viens de développer une petite application ACCESS 2007 qui ne fonctionne pas trop mal mais je voudrais lui donner un petit plus.

    Pour faire simple : j'ai créé un formulaire avec des multiples champs à remplir. La majorité des champs peut rester vide mais je souhaite absolument qu'un champ précis soit rempli (Code Entreprise). J'ai créé un bouton qui permet de sauvegarder mes entrées et de sortir.

    A l'ouverture du formulaire j'ai rendu ce bouton " activé" sur NON. Il est donc non fonctionnel.
    Je souhaite qu'il devienne actif, lorsque le champ précis(Code Entreprise) est rempli.
    J'ai trouvé sur internet plusieurs lignes de code qui indiquaient : If....null = false then ...etc j'ai bien compris la logique mais je n'arrive pas à la transcrire.

    Si quelqu'un pouvait m'aider.

    Merci d'avance

    Pascal

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour....
    ...je souhaite absolument qu'un champ précis soit rempli....
    ..A l'ouverture du formulaire j'ai rendu ce bouton " activé" sur NON.....
    Je souhaite qu'il devienne actif, lorsque le champ précis(Code Entreprise) est rempli.
    A mon avis..:
    -laisse ton bouton de commande [cmdValider] actif en permanence "Activé = oui"
    -teste uniquement lors du clic sur ce bouton si ton champ [Texte5] est rempli ou non..

    Avec ce type de code...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub cmdValider_Click()
    If (IsNull(Texte5) Or (Texte5 = vbNullString)) Then
        MsgBox "La saisie du champ XXX est OBLIGATOIRE avant validation", 48, "Saisie incomplète"
        Me.Texte5.SetFocus
        Exit Sub
    Else
    MsgBox "La saisie est correcte......"
    End If
    End Sub
    Bonne continuation......

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Je vais tester
    Merci pour ta réponse

    Je vais tester ça !!

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Bon bah j'ai essayé
    Je tourne sur ACCESS 2007.

    Voilà ce que ça donne :


    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
    Option Compare Database
     
    Private Sub Commande909_Click()
    Sub Annuler()
    Application.Undo
    End Sub
     
    Private Sub BoutonSortir_Click()
    If (IsNull(Texte1112) Or (Texte1112 = vbNullString)) Then
        MsgBox "La saisie du champ NAF est OBLIGATOIRE avant validation", 48, "Saisie incomplète"
        Me.Texte1112.SetFocus
        Exit Sub
    Else
    MsgBox "La saisie est correcte......"
    End If
    End Sub
    Bah quand j'appuie sur le bouton : rien ne se passe.

    Une autre question :
    Ce bouton a pour première fonction de sortir du formulaire sur le clique, où dois-je donc mettre le code proposé ? à la suite ?
    Est-ce que cela veut dire qu'il y'a ET une MACRO pour sortir et des lignes de code pour tester qu'un champ est bien rempli ?

    Si oui, où est-ce que l'on met tout ce bazarre


    On utilise bien le générateur de code pour rentrer ce qui est proposé ci-dessus ?

    Bon ....

  5. #5
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour

    Pourquoi ne pas mettre un contrôle sur la sortie du champ CodeEntreprise.
    Si celui-ci est vide alors il faut annuler l'évènement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CodeEntreprise_Exit(Cancel As Integer)
        If IsNull(ActiveControl) Then
            Cancel = True
        End If
    End Sub
    A+

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Merci pour votre réponse
    Je vais tester ça !!
    Cordialement
    Pascal

    Bon bah rien ne se passe


  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,
    Citation Envoyé par LeSkwal Voir le message
    On utilise bien le générateur de code pour rentrer ce qui est proposé ci-dessus ?Bon ....
    Effectivement. Exemple pour un champ, dans ses propriétés onglet événement--Sur sortie-->Click sur le bouton de droite

    Si c'est du champ Texte1112 dont il s'agit,(qui aurait gagné à être baptisé "txtCode_Entreprise" voir "txt_Naf")

    Selon la solution préconnisée par Jeannot45 :
    Il faut mettre Texte1112 en premier dans l'ordre de tabulation(Affichage-->Ordre de tabulation)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Texte1112_Exit(Cancel As Integer)
     If IsNull(ActiveControl) Then
        MsgBox "La saisie du champ NAF est OBLIGATOIRE", , "Saisie incomplète"
        Cancel = True
        Me.Texte1112.SetFocus
     End If
    End Sub
    Méthode donnée par FreeAccess, traitement par bouton de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub BoutonSortir_Click()
       If (IsNull(Texte1112) Or (Texte1112 = vbNullString)) Then
         MsgBox "La saisie du champ NAF est OBLIGATOIRE", 48, "Saisie incomplète"
         Me.Texte1112.SetFocus
         Exit Sub
       Else
      DoCmd.Close
     End If
    End Sub
    Citation Envoyé par LeSkwal Voir le message
    Si oui, où est-ce que l'on met tout ce bazarre
    Bazar ou pas, tout ceci n' est que le reflet de notre ordre; Ou selon nos connaissances.
    Bazar aujourd'hui sera limpide demain.... Ou après demain. Tout ceci n'est qu'une question de temps.

    Cordialement.

  8. #8
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Rappel de la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CodeEntreprise_Exit(Cancel As Integer)
        If IsNull(ActiveControl) Then
            Cancel = True
        End If
    End Sub
    Est-ce que tu peux sortir de ton champ. Si OUI, cela n'est pas normal, si NON alors la procédure fonctionne bien et le but est atteint.

    Bien sur il faudrait ajouter un message destiné à l'utilisateur. Ce qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CodeEntreprise_Exit(Cancel As Integer)
        If IsNull(ActiveControl) Then
            MsgBox "La saisie du CodeEntreprise est obligatoire",vbInformation,"Contrôle de Saisie"
            Cancel = True
        End If
    End Sub

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Bon bah j'vais essayer
    Je vais bien prendre le temps pour essayer cela.

    Merci

    Pascal

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 62
    Points : 29
    Points
    29
    Par défaut Ouinnnnn !!!
    Malgré le temps passé.... Toujours pareil !!

    Bon je vais continuer à chercher...

    Merci quand même

    Pascal

  11. #11
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour à tous ,
    Je te propose une idée trés simple a essayer.
    donc tu mets dans les propriétés du bouton : activé :non donc le bouton sera grisé par defaut.
    Mettre une valeur par defaut du champ pour pouvoir faire un petit teste que la valeur est differente de celle par defaut (pour mon exemple j'ai mis la valeur par defaut du champ :0)
    Puis sur l'evenement Sortie ou Perte focus du champs une condition avec if :
    Private Sub Texte1112_LostFocus()
    If [Texte1112].Value <> 0 Then [BoutonSortir].Enabled = True
    End Sub

  12. #12
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Tu peux ajouter le message box pour info de l'utilisateur.

Discussions similaires

  1. [AC-2007] faire apparaitre un bouton
    Par kemche dans le forum IHM
    Réponses: 7
    Dernier message: 25/01/2016, 11h28
  2. Faire apparaitre un bouton ds un Userform
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/10/2009, 12h59
  3. Faire apparaitre un bouton en fonction valeur de textbox
    Par biloute91 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/04/2008, 18h08
  4. faire apparaitre des boutons que si necessaire
    Par jexl dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2005, 22h45
  5. pb : faire apparaitre un bouton a la position voulue
    Par bambino3997 dans le forum Composants VCL
    Réponses: 24
    Dernier message: 07/03/2005, 11h16

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