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 :

Empecher la saisie de caractère accentué


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2008
    Messages : 157
    Points : 90
    Points
    90
    Par défaut Empecher la saisie de caractère accentué
    Bonjour,
    Je voudrais savoir s'il est possible en mettant en place un masque de saisie d'empecher la saisie d'un caractère accentué.

    Ou le cas échéant, mettre en place un code qui remplacerai chaque caractere accentué par le même sans accent. Par exemple : É par E et à par a.

    Merci.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour OCB,
    utilise l'événement Sur Touche activée
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'Pour assurer une saisie alphabétique dans une zone de texte TxtNom
    ' Seuls le Backspace et les 26 lettres min. et maj. sont pris en compte
    Private TxtNom_KeyPress(Keyascii as Integer)
     If KeyAscii<>8 And (KeyAscii<65 Or Keyascii>90) And (Keyascii<97 Or Keyascii>122) Then KeyAscii=0
    End sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'Pour assurer une saisie numérique dans une zone de texte TxtNombre
    ' Seul le Backspace et les 10 chiffres sont pris en compte
    Private TxtNombre_KeyPress(Keyascii As Integer)
     If KeyAscii<>8 And (Keyascii<48 Or KeyAscii>57) Then KeyAscii=0
    End sub

  3. #3
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2008
    Messages : 157
    Points : 90
    Points
    90
    Par défaut
    Bonjour,
    Merci pour ton code, seulement la saisie alphabétique autorise la saisie de lettres accentuées.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Une solution de Caféine avec les API.

    Tu exécutes la fonction sur l'événement Après MAJ de la zone de texte.

    Domi2

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour OCB,
    visiblement tu n'as pas testé le code. Teste-le.

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Citation Envoyé par OCB37 Voir le message

    Ou le cas échéant, mettre en place un code qui remplacerai chaque caractere accentué par le même sans accent. Par exemple : É par E et à par a.
    Citation Envoyé par ilank Voir le message
    Bonjour OCB,
    visiblement tu n'as pas testé le code. Teste-le.
    Il semblerait que ton code ne fasse pas le remplacement comme demandé dans le premier post.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour Heureux-oli,
    tu ne le pas tester toi non plus.
    mon code est un exemple qui répond à :
    Citation Envoyé par OCB37
    Je voudrais savoir s'il est possible en mettant en place un masque de saisie d'empecher la saisie d'un caractère accentué.
    Mon code autorise uniquement la saisie des 26 lettres de l'alphabet, que je sache il n'y a pas d'accent dans l'alphabet.

  8. #8
    Membre régulier
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Juin 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Juin 2008
    Messages : 157
    Points : 90
    Points
    90
    Par défaut
    Ilank je t'assure que j'ai testé ton code, et la saisie des caractères suivants est possible: ÉÈÇÀÊÂÛÔÎÙ.

    Sinon en mettant en place la solution de caféine, ca marche.

    Merci.

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Citation Envoyé par ilank Voir le message
    Bonjour Heureux-oli,
    tu ne le pas tester toi non plus.
    mon code est un exemple qui répond à :

    Mon code autorise uniquement la saisie des 26 lettres de l'alphabet, que je sache il n'y a pas d'accent dans l'alphabet.
    Désolé, mais il n'y a pas besoin de tester pour voir que tu ne fais pas de remplacement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If KeyAscii<>8 And (Keyascii<48 Or KeyAscii>57) Then KeyAscii=0
    Sauf si KeyAscii 0 renvoie un caractère générique pouvant revêtir n'importe quel caractère accentué.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Citation Envoyé par OCB37
    Ilank je t'assure que j'ai testé ton code, et la saisie des caractères suivants est possible: ÉÈÇÀÊÂÛÔÎÙ.
    Si tu le dis, je veux bien te croire. Mais toutes les lettres que tu indiques ont un code ascii supérieur à la valeur max que mon code admet 122=>z.
    Pour tester les codes alpha et numérique :
    Choisis Procédure événementielle dans la propriété Sur Touche activée de la zone de texte. Clique sur le bouton ... pour ouvrir la page de code VBA et tape le code que je t'ai donné.

    Citation Envoyé par Heureux-oli
    Désolé, mais il n'y a pas besoin de tester pour voir que tu ne fais pas de remplacement.
    Bah c'est déjà bien de reconnaître que tu ne l'as pas testé. Maintenant selon moi un masque de saisie sert pendant la saisie et non pas pour remplacer ce qui a été saisi.

    Maintenant, tant qu'OCB a trouvé ce qu'il cherchait.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 159
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Est il possible de gérer une liste des caractères interdits par un tableau ? ou même par une table ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If KeyAscii<>{8,5,6,45...} Then KeyAscii=0
    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2012, 00h00
  2. Réponses: 2
    Dernier message: 08/11/2010, 11h57
  3. empecher la saisie d'un caractère dans un édit
    Par Invité dans le forum Access
    Réponses: 7
    Dernier message: 17/01/2007, 15h35
  4. empecher saisie de caractères dans champ de type input text
    Par mussara dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/06/2006, 14h09
  5. [VB.NET] Empecher la saisie de caractère spéciaux
    Par bloody22 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/07/2005, 11h09

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