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

Excel Discussion :

textbox valeur numerique [XL-2010]


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut textbox valeur numerique
    Bonsoir a tous
    Je voudrais creer un formulaire avec une dixaine de textbox (valeurs numerique) puis un dernier textbox pour la somme de tous les textboxs.
    Possible ou pas sous excel? je cherche mais ne trouve pas.
    Si vous avez un exemple en telechargement pour ma culture je prends

    merci a tous

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Un textbox demeure un textbox, c'est-à-dire que les nombres entrés sont en fait du texte.
    Pour les additionner, tu peux utiliser CLng ou CDbl selon que ce sont des nombres entiers ou réels.

    Pour forcer l'entrée de nombres uniquement, tu peux placer ceci pour chacun des textbox.
    De cette façon, l'utilisateur ne peut entrer que ce que tu acceptes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        Select Case KeyAscii
            Case 48 To 57  ' chiffres de 0 à 9
            Case 44 '  si tu acceptes la virgule
            Case 46 '  si tu acceptes le point
            Case Else
                KeyAscii = 0
        End Select
    End Sub
    MPi²

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, à lire : ceci ainsi qu'ici

  4. #4
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    merci pour vos reponses
    je viens de trouver sur le tuto

    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890.-", Chr(KeyAscii)) = 0 Or txtEcritFeuille.SelStart > 0 And Chr(KeyAscii) = "-" _
    Or InStr(txtEcritFeuille.Value, ".") <> 0 And Chr(KeyAscii) = "." Then KeyAscii = 0: Beep
    End Sub

    ca marche aussi
    pour ma somme je planche toujour
    merci et bonne soirée

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Regarde l'aide sur CLng et CDbl

    MaSomme = Clng(textbox1) + Clng(Textbox2)
    ou
    Textbox3 = Clng(textbox1) + Clng(Textbox2)
    que tu peux mettre dans Textbox1_Change et textbox2_Change

    à ajuster au besoin selon ton programme et le nombre de textbox que tu as à additionner/soustraire...
    MPi²

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Application.InputBox peut aussi aider, dans la mesure ou vous pouvez directement définir le type d'entrée
    Value Meaning
    0 A formula
    1 A number
    2 Text (a string)
    4 A logical value (True or False)
    8 A cell reference, as a Range object
    16 An error value, such as #N/A
    64 An array of values

    Bonne journée
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  7. #7
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    bonsoir a tous
    Que dire, merci pour les réponses c cool
    g plus k

    bonne soirée

  8. #8
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    bonsoir a tous suite a vos message
    un petit peu d'aide serait la bien venu
    g donc 2 textbox valeur numerique,la c ok voici mon code

    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890.-", Chr(KeyAscii)) = 0 Or txtEcritFeuille.SelStart > 0 And Chr(KeyAscii) = "-" _
    Or InStr(txtEcritFeuille.Value, ".") <> 0 And Chr(KeyAscii) = "." Then KeyAscii = 0: Beep
    End Sub

    g trouver un moyen de transferer mes 2 valeur a l'aide de commandboutjon

    Private Sub cmdAlimLesCasesFeuille_Click()
    Cells(6, 1) = TextBox1.Value
    Cells(7, 1) = TextBox2.Value
    TextBox3.Value = Cells(8, 1)
    End Sub

    Textbox3 etant la somme de mes deux cellules dans ma feuille

    peut on si cela est possible faire aparaitre le resultat textbox3 au fur et a mesure de la saisie de textbox 1 et 2 dans le formulaire
    car je ferai appelle a ma cde que si le resultat de textbox est ok

    désole pour le roman et merci

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Place 3 textbox avec les noms par défaut sur un Userform et essaie ceci
    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
    23
    24
    25
    26
    27
    28
    29
    Private Sub TextBox1_AfterUpdate()
        If TextBox2 <> "" Then TextBox3 = CDbl(TextBox1) + CDbl(TextBox2)
    End Sub
     
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        Select Case KeyAscii
            Case 48 To 57  ' chiffres de 0 à 9
            Case 44 '  si tu acceptes la virgule
            Case 46 '  si tu acceptes le point
            Case Else
                KeyAscii = 0
        End Select
     
    End Sub
     
    Private Sub TextBox2_AfterUpdate()
        If TextBox1 <> "" Then TextBox3 = CDbl(TextBox1) + CDbl(TextBox2)
    End Sub
     
    Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        Select Case KeyAscii
            Case 48 To 57  ' chiffres de 0 à 9
            Case 44 '  si tu acceptes la virgule
            Case 46 '  si tu acceptes le point
            Case Else
                KeyAscii = 0
        End Select
     
    End Sub
    MPi²

  10. #10
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    merci ca marche
    mais dès que je tape un chiffre avec un point g un message erreur d'execution 13

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    C'est probablement que ton système est configuré avec les virgules.

    Modifie cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Case 46 '  si tu acceptes le point
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case 46 '  Changer le point par virgule
            KeyAscii = 44
    MPi²

  12. #12
    Membre régulier
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2013
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 186
    Points : 91
    Points
    91
    Par défaut
    merci ca marche

    bonne soiree


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

Discussions similaires

  1. STRING avec valeurs numériques
    Par casgr1 dans le forum Cobol
    Réponses: 5
    Dernier message: 19/05/2006, 10h13
  2. Trouver la valeur numerique d'un champ texte
    Par epeneau dans le forum Access
    Réponses: 2
    Dernier message: 18/05/2006, 15h59
  3. Quotes sur des valeurs numériques
    Par shadeoner dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/05/2006, 14h56
  4. Réponses: 2
    Dernier message: 04/04/2006, 08h37
  5. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29

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