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 :

Changement dans une zone de texte


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 24
    Points
    24
    Par défaut Changement dans une zone de texte
    Bonjour,

    Je dispose de 2 zones de texte que l'on va nommer 'A' et 'B' pour l'illustration, dans un formulaire 'F'. La zone 'B' est inactive (champ grisé) et la zone 'A' est active.
    Je voudrais, par une procédure évènementielle, que lorsque je commence à écrire dans la zone 'A', la zone 'B' soit automatiquement activée.

    Je pensais que la procédure permettant de réaliser cela était 'sur changement' dans Access, mais ça ne fonctionne pas:

    lorsque je saisis le caractère 'j' dans ma zone A, par exemple, je lis la valeur de 'A' dans la procédure sur changement à l'aide d'un debug.print et il m'affiche 'Null' !!

    Me suis-je trompé de procédure? Si oui, sauriez-vous qu'elle est celle qu'il faut utiliser? Si non, ai-je commis une erreur de raisonnement? Merci d'avance

  2. #2
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    essai sur touche activee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub A_KeyPress(KeyAscii As Integer)
    Me.B.Enabled = True
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    effectivement ça fonctionne. Merci.
    J'ai un autre problème maintenant: je voudrais que lorsque l'on efface ce que l'on a écrit dans la zone 'A', la zone 'B' soit automatiquement désactivée.
    Exemple: j'écris 'j' dans la zone 'A', 'B' s'active. J'efface ce caractère 'j' et B se désactive.

    J'ai essayé le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if  ((Me!A <> "") And Not (IsNull(A))) Then
        B.enabled = true
    else
        B.enabled = false
    mais ça ne fonctionne pas!
    Voyez-vous une erreur dans le code?

  4. #4
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    essai comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub A_AfterUpdate()
    If IsNull(Me.A) Then
    Me.B.Enabled = False
    End If
    End Sub

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    Merci mais j'ai testé et ça ne fonctionne que lorsque la zone perd le focus. Pour que la zone se désactive ou s'active grace à AfterUpdate, il faut que je sélectionne un autre controle.
    Or je voudrais que dès que l'on saisit un caractère dans la zone 'A', la zone 'B' s'active immédiatement, et lorsque je supprime le contenu de la zone 'A', la zone 'B' soit immédiatement désactivée, sans que la sélection d'une autre zone ne soit nécessaire.
    Peut ètre qu'Acces ne le permet pas. Est-ce réalisable selon vous?

  6. #6
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    je ne voit pas trop comment faire mais quelqu'un d'autre aura peut etre une idee

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    D'accord j'attends les autres suggestions car c'est plutot urgent! En tout cas, merci d'avoir essayer de m'aider

  8. #8
    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
    Essaye comme ça si ça te va
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub A_Change()
    If Not (IsNull(Me.A.Text)) And (Me.A.Text <> "") Then
    Me.B.Enabled = True
    Else
    Me.B.Enabled = False
    End If
    End Sub

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    En effet ça marche parfaitement!! Merci beaucoup

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

Discussions similaires

  1. Mettre du gras dans une zone de texte
    Par gontrand16 dans le forum IHM
    Réponses: 6
    Dernier message: 11/12/2012, 12h38
  2. Multi Format dans une zone de texte ou active x
    Par nowick dans le forum Access
    Réponses: 5
    Dernier message: 22/10/2005, 20h23
  3. incrementation d'un format texte dans une zone de texte
    Par frederic.go dans le forum Access
    Réponses: 6
    Dernier message: 18/10/2005, 14h47
  4. Code de séléctionnement dans une zone de texte
    Par ghyosmik dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/10/2005, 13h46
  5. Exclusion de caractere dans une zone de texte
    Par martsigo dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2005, 20h03

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