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

Macros et VBA Excel Discussion :

forcer un nombre dans un textbox entre 0 et 360 [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Points : 172
    Points
    172
    Par défaut forcer un nombre dans un textbox entre 0 et 360
    Bonjour à tous.

    J'ai deux textbox dans lesquels les utilisateurs devront inscrire un nombre entre 0 et 360. Ce nombre sera sans décimale.

    Est-il possible de forcer l'inscription d'un nombre (et rien d'autre) dans l'intervale de 0 à 360 ?


    Merci à l'avance

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Pour la partie d'autoriser uniquement la saisie de chiffre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     
    Select Case KeyAscii
        Case 48 To 57, 8
     
        Case Else
            KeyAscii = 0
    End Select
     
    If Len(TextBox1.Text) >= 3 Then KeyAscii = 0
     
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Points : 172
    Points
    172
    Par défaut
    Merci à vous jfontaine.

    C'est ce que je cherchais.

    Pour ce qui est d'un nombre entre 0 et 360, j'ai ajouté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TextBox7_Change()
    If TextBox7 > 360 Then
    MsgBox "Le nombre de jours doit être entre 0 et 360.", vbOKOnly
    TextBox7.SetFocus
    End If
     
    End Sub
    Par contre, j'aimerais que le nombre soit en bleu afin de que lors de la nouvelle saisie le nouveau nombre remplace l'ancien nombre OU que l'ancien soit supprimé.
    quelqu'un a une idée ?

    Merci à l'avance


    Merci

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Voici commnt selectionner en bleu le texte de la textbox des quel prend le focus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub TextBox7_GotFocus()
    TextBox7.SelStart = 0
    TextBox7.SelLength = Len(TextBox7.Text)
    End Sub

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 322
    Points : 172
    Points
    172
    Par défaut Textbox supérieur à 360
    Merci à vous jfontaine pour votre réponse.

    J'ai appliqué ce code mais ç ne fonctionne que s'il y a un nombre d'inscrit dans le textbox7 au moment de prendre le focus dans ce textbox.

    Normalement, ce textbox sera vide jusqu'au moment d'inscrire le nombre de 0 à 360. Si j'inscris un nombre supérieur à 360, j'ai mon message puis le curseur se trouve à la fin du nombre au lieu d'être en bleu.

    Merci à l'avance

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut

    tu te "compliques bien la vie"

    essaye ceci (pour une textbox textbox2 mise sur un userform), par exemple :
    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
    18
    19
    20
    21
    22
    Private Sub TextBox2_Change()
      Static etait As String
      If Not TextBox2.Text Like String(Len(TextBox2.Text), "#") Or Val(TextBox2.Text) > 360 Then
        Beep
     
        'les 2 lignes suivantes ne sont là que pour ton "bleu", bien inutile à mon sens
        'à supprimer si tu changes d'avis à nce sujet
        TextBox2.HideSelection = False
        TextBox2.SelStart = 0: TextBox2.SelLength = Len(TextBox2.Text)
     
        DoEvents
        MsgBox "ne saisir que des nombres entre 0 et 360, SVP" '<<<<=== si tu souhaites ce message
        TextBox2.Text = etait
     
      Else
        etait = TextBox2.Text
      End If
    End Sub
     
    Private Sub TextBox2_Enter()
      TextBox2.Text = ""
    End Sub
    N'oublie pas de remplacer tous les textbox2 par le nom de ta textbox
    et lis mes commentaires

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

Discussions similaires

  1. nombre de mois entre 2 dates affichées dans des textBox
    Par Fredyoyodu18 dans le forum Visual C++
    Réponses: 11
    Dernier message: 27/03/2015, 10h34
  2. Réponses: 2
    Dernier message: 15/08/2012, 11h29
  3. Tester le nombre de caractere entrés dans un textbox
    Par Naceur84 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 20/06/2011, 10h07
  4. arrondir nombre dans un textbox
    Par jeff91 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 12/04/2007, 22h02
  5. [] Nombre de lignes dans un textbox
    Par juanelcalor dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/07/2005, 11h54

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