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 :

Contrôle des caratères saisis et retour du curseur sur sa position initiale.


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Contrôle des caratères saisis et retour du curseur sur sa position initiale.
    Bonjour à tous.
    Dans un formulaires j'ai fait en sorte, sans passer par le masque de saisie du champ, que le champ "Nom du pays" n'accepte que les majuscules; dans le cas où l'on introduirait tout autre caractère, il y a un petit message d'avertissement, mais je ne parviens pas à finaliser le retour du curseur à son emplacement initial. J'ai apparemment un problème avec la longueur de l'encodage du champ qui reste désespérément "Null".
    Voici ce que j'ai introduit:
    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
    17
     
    'Limiter le nom du Pays à des MAJUSCULES - retour du curseur au dernier emplacement'
    Private Sub Pays_Nom_KeyDown(KeyCode As Integer, Shift As Integer)
      Dim Selstart As Integer
      Dim LongCh As Long
      LongCh = "0"
     If KeyCode >= 65 And KeyCode <= 90 Then
         LongCh = Nz(Len(Me.Pays_Nom))
         MsgBox "Longueur1 =" & LongCh
         Exit Sub
      Else
         Beep
         MsgBox "Seules des lettres MAJUSCULES sont admises !"
         MsgBox "Longueur2 =" & LongCh
         Selstart = LongCh - 1
      End If
    End Sub
    J'ai placé des MsgBox 1 et 2 pour vérifier la valeur de la longueur des champs complétés.
    Je joins également la BDD.
    Merci d'avance pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Saut
    Pourquoi faire simple, quand on peut faire compliquer !
    Micniv, que je salue, vous a fourni une fonction. Il suffit tout simplement d'ajouter la fonction UCase() en Ligne 13.

    Avec votre sub() les utilisateurs de votre bdd risqueraient de se comporter comme sur cette vidéo
    .
    Autre problème ; en l'état avec votre sub() comment fait-on pour écrire Nouvelle-Calédonie avec vos KeyCode() compris entre 65 et 90 ? On ne peut pas saisir le tiret du 6 !

    Selon vous Bénin en majuscule c'est plus tôt BENIN ou plus tôt BÉNIN ?

    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
    Public Function ChaineSansAccent(ByVal s As String) As String
    ' 2010-05-01    Helas, MN
    '               Exemple : Ucase(ChaineSansAccent("il était l'affût à Foïx ùune fois"))
     
     
        Dim s1 As String, s2 As String, i As Long
     
        s1 = " àâáãäåéèêëïîìíöôðòóüûùúñçÿÀÁÂÃÄÅÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜ"
        s2 = " aaaaaaeeeeiiiiooooouuuuncyAAAAAAEEEEIIIIOOOOOUUUU"
        For i = 1 To Len(s1)
            s = Replace(s, Mid$(s1, i, 1), Mid$(s2, i, 1))
        Next i
        ChaineSansAccent = UCase(s)
     
    End Function
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Contrôle des caratères saisis et retour du curseur sur sa position initiale.
    Merci hyperion13 pour votre réponse. Néanmoins, la solution de Micniv n'empêche pas la saisie de caractères autres que les lettres alphabétiques tels que les chiffres, l'espacement, et autres ($, *, ¨, ^, §, (, ), &, etc...).

  4. #4
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2016
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2016
    Messages : 171
    Points : 79
    Points
    79
    Par défaut Contrôle des caratères saisis et retour du curseur sur sa position initiale.
    Merci Hyperion13. Je réfléchis encore à ce que je vais faire. Toutefois, je considère le problème comme résolu.

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

Discussions similaires

  1. [AC-2013] Retour du curseur sur la ligne actuelle
    Par morobaboumar dans le forum Access
    Réponses: 4
    Dernier message: 12/11/2023, 09h45
  2. Réponses: 1
    Dernier message: 12/10/2011, 12h25
  3. Procédure stockée avec retour de curseur
    Par Oufti dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/11/2005, 22h40
  4. [Conception] Taille des formes fixes au retour d'exécution
    Par jmdeffet dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/06/2005, 09h07

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