Convertir en nombre la donnée d'une TextBox
#1
Débutant XLPages

Inscription: 05/12/2010

Messages: 14

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007,2010
Posté le : 22-02-2011 09h16
Bonjour à tous,

Je me heurte à un problème d'erreur Excel : "nombre stocké sous forme de texte" après la saisie des données depuis une Textbox.

J'ai essayé CDbl et Val, voire les deux en même temps mais sans succès.

Auriez vous une idée pour convertir le texte en nombre d'une TextBox via VBA ?

Ci-joint un exemple.
Pièce jointe:
xls Manwe24.xls   [ Taille: 40.00 Ko - Téléchargements: 1043 ]
Hors Ligne
Rapport   Haut 

Re: Convertir en nombre la donnée d'une TextBox
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 22-02-2011 10h46
Bonjour manwe24, le Forum,

Selon mon expérience, tant que tu ne feras aucun effort pour déclarer tes variables en particulier, tu ne comprendras pas l'importance des « types de données » (d'où ton incompréhension de la situation que tu rencontres là).

Tu trouveras ci-joint une façon d'aborder ce type de problème (le but étant de maitriser le contenu de la TextBox avant conversion et transfert sur la feuille). J'ai utilisé le code suivant pour ton Userform :

Option Explicit

Private Sub Combobox1_Change()
    With Me.ComboBox1
        If .ListIndex = -1 Then Exit Sub
        TextBox1.Value = Sheets("Feuil1").Cells(.ListIndex + 2, 1)
        TextBox2.Value = Sheets("Feuil1").Cells(.ListIndex + 2, 2)
    End With
End Sub

Private Sub CommandButton1_Click()
Dim x As Long
    With Sheets("Feuil2")
        x = .Range("A65536").End(xlUp).Row + 1
        .Cells(x, 1).Value = TextBox1.Text
        'On convertit la valeur en type « monétaire » (Currency) pour la cellule
        .Cells(x, 2).Value = CCur(TextBox2.Value)
    End With
    Unload Me
End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub TextBox2_Change()
    'Autorise l'ajout de valeur dans la feuille (seulement si TextBox2 est valable !)
    CommandButton1.Enabled = IsNumeric(TextBox2.Value)
End Sub

Cordialement,
Pièce jointe:
zip PourManwe24.zip   [ Taille: 15.03 Ko - Téléchargements: 1543 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Convertir en nombre la donnée d'une TextBox
#3
Débutant XLPages

Inscription: 05/12/2010

Messages: 14

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007,2010
Posté le : 22-02-2011 15h29
Merci Didier.

Effectivement j'ai oublié les variables ! Je note bien aussi la façon dont tu présentes le code avec les With/End With, c'est d'autant plus clair.

Ton code fonctionne parfaitement bien. Je te remercie vivement.

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes