probleme avec cellule

  • Initiateur de la discussion blacsap
  • Date de début
B

blacsap

Guest
Salut
J’ai crée 1 userform avec des tex box qui me remplisse 1 tableau.
Quant je rentre du texte pas de problème mais quand c’est un chiffre, il se met bien dans les cellules mais un point d’exclamation apparaît sur la cellule de mon tableau avec comme erreur « nombre stocké sous forme de texte «
Comment puis je faire pour ne plus avoir ce problème ??
Merci d’avance
@+
Blacsap
 
L

Le Fnake

Guest
Salut blacsap,

Alors, il y a deux facon de voir.

Soit tu veux indifferement du texte ou des chiffres dans tes cellules, il suffit de changer le format de tes cellules : tu les sélectionnes, puis Format - Cellules - Standard.

Soit tu ne veux que du texte dans ta textbox, et pas de chiffre. Il faut alors faire un test dans ta macro de validation (code à verifier):

if isnumeric(nom_textbox.value) then
msgbox "tu dois rentrer du texte"
else: hide
(suite de la macro)
End if

Voila, j'espere que ca t'ira.

le Fnake
 
B

blacsap

Guest
salut
ca marche pas j'ai toujour le meme probleme .je veux 1 nombre comme resultat.
je joint mon fichier ;si quelqu un peut m'aider merci d'avance
@+
blacsap
 

Pièces jointes

  • Nouveau.zip
    16.3 KB · Affichages: 20
  • Nouveau.zip
    16.3 KB · Affichages: 22
  • Nouveau.zip
    16.3 KB · Affichages: 20
@

@+Thierry

Guest
Salut BlacSap, Le Fnake, le Forum


Héhéhé BlackSap, tu vas un peu fort avec la phrase "J'ai créé un UIserForm"... Car je viens de voir ton fichier joint, et je sais très bien qui a écrit ceci ... Bon enfin c'est pas grave...

Donc il faut retourner une valeur Numérique dans la cellule comme ceci
Range("A1") = Cbyte(TextBox1)
Range("A1") = CDbl(TextBox1)
Range("A1") = CInt(TextBox1)
Range("A1") = CLng(TextBox1).... etc mais il faut être sûr que c'est du numérique dans la TextBox sinon plantage....

Tu as différentes méthodes de tests si tu veux être sûr que du numérique a été saisi...

Soluce 1 "Checking à la Validation"
(Ici je prends pour exemple que tu veux de l'Integer (Chiffre Entier de -32,768 to 32,767)...

tu changes ceci dans la fin du code du CommandButton "OK"

Ligne = Sheets("Feuil1").Range("A30").End(xlUp).Row + 1

On Error GoTo ErrorHandler
Cells(Ligne, 1).Value = CInt(TextBox1)
Cells(Ligne, 2).Value = B
Cells(Ligne, 3).Value = C
Cells(Ligne, 4).Value = D
Cells(Ligne, 5).Value = E
Cells(Ligne, 6).Value = F
Cells(Ligne, 7).Value = G
Cells(Ligne, 8).Value = H
Unload UserForm1
Exit Sub

ErrorHandler:
If Err = 13 Then
MsgBox "la valeur n'est pas numérique", vbExclamation, "Thierry's Démo"
Else
MsgBox "Erreur Non Répertoriée", vbExclamation, "Thierry's Démo"
End If
End Sub
End Sub


Soluce 2 "Checking à la Saisie"

Private Sub TextBox1_Change()
If Not IsNumeric(TextBox1) Then
With TextBox2
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1.Text)
End With
Exit Sub
End If
End Sub

Bon fin d'aprèm
@+Thierry
 

Discussions similaires