TextBox Formatage en numérique

Aladin

XLDnaute Occasionnel
Bonjour le forum

J' ai ce code qui permet de remplir une feuilles par TextBox. Les textbox a partir de D1 jusqu' à
la derniere colonne sont alimenté par des Chiffres.
Code:
Dim Dl As Long
Dim x As Byte
With Sheets("Feuil1")
    .Activate
    Dl = .Range("A65536").End(xlUp).Row + 1
       For x = 1 To 16
       ' .Cells(Dl, x).Value = Me.Controls("TextBox" & x).Value
        
        .Cells(Dl, x).Value = Me.Controls("TextBox" & x).Value
    Next x

Le pb c' est que ces chiffres sont en mode texte, comment puis je faire pour avoir un formatage en numérique.
J' ai essayé avec CDb mais cela ne marche pas. soit je n' ai pas la bonne synthaxe ou il ne convient pas.
Merci d' avance pour toute aide
Aladin
 
D

Denis

Guest
Re : TextBox Formatage en numérique

Bonjour Aladin, Jean-Marcel et le forum,
A la place de : cdbl(Me.Controls("TextBox" & x).Value), ceci marche bien aussi : Val(Me.Controls("TextBox" & x))
Un tout ptit peu plus court mais même résultat!!!
Bon courage et à+
Denis
 

Aladin

XLDnaute Occasionnel
Re : TextBox Formatage en numérique

Bonjour Jean-Marcel
Merci d' avoir répondu, j' ai une erreur incompatibilité de type Erreur d' execution 13 qui me renvoie à la ligne
Code:
.Cells(Dl, x).Value = cdbl(Me.Controls("TextBox" & x).Value)
Aladin
 

laetitia90

XLDnaute Barbatruc
Re : TextBox Formatage en numérique

bonjour tous :):)
normalement cette ligne suffisante

Code:
 .Cells(Dl, x) = (Controls("TextBox" & x).Value)

les vides ou du texte dans textboxs posent pas de pb genere pas d'erreurs
cdbl ou val servent a rien dans ce cas la .....on sans sert pour faire des calculs dans les textboxs
son pb.... vient peut etre qu'il utilise des virgules dans ce cas forcement du texte dans cellule
on faire cela

Code:
 .Cells(Dl, x) = Replace(Controls("TextBox" & x).Value, ",", ".")

ps . activate sert a rien non plus

Code:
Dim Dl As Long, x As Byte
 With Sheets("Feuil1")
 Dl = .Range("A65536").End(xlUp).Row + 1
 For x = 1 To 16
 .Cells(Dl, x) = Replace(Controls("TextBox" & x).Value, ",", ".")
 Next x
End With
 
Dernière édition:

Aladin

XLDnaute Occasionnel
Re : TextBox Formatage en numérique

Bonjour à tous
Bonjour le forum
J' ai utilisé la méthode de formatage de laetitia90, c' est exactement ce que je voulais Tout fonctionne correctement mais peut on le modifier en enlevant les décimales, en numérique entier.
Aladin
 

laetitia90

XLDnaute Barbatruc
Re : TextBox Formatage en numérique

re, tous:):):)
on parle bien de suppression de decimales & non arrondi

Code:
Dim Dl As Long, x As Byte
 On Error Resume Next
 With Sheets("Feuil1")
 Dl = .Range("A65536").End(xlUp).Row + 1
 For x = 1 To 16
 .Cells(Dl, x) = Int(Controls("TextBox" & x))
 Next x
End With

ps: erreur sur for
 
Dernière édition:

Aladin

XLDnaute Occasionnel
Re : TextBox Formatage en numérique

Bonjour à tous
Effectivement laetitia90 c' est bien ce que tu as compris, la suppression des décimales, j' ai éffectué le test de la modif et j' ai ce message une icompatilité de type Erreur d' execution 13 provenant de la modif.
Aladin
 

laetitia90

XLDnaute Barbatruc
Re : TextBox Formatage en numérique

re,:):) effectivement avec un fichier plus simple comme le dit l'ami Jean-Marcel

tu as bien mis cette ligne au debut du code

Code:
On Error Resume Next
on peut pas faire Int sur des textboxs vide ou avec du texte autrement il faut mettre des conditions qui est un peut plus long comme code
 

laetitia90

XLDnaute Barbatruc
Re : TextBox Formatage en numérique

re, tous:):)
avec conditions cela donnerait cela

Code:
Dim Dl As Long, x As Byte
 With Sheets("Feuil1")
 Dl = .Range("A65536").End(xlUp).Row + 1
 For x = 1 To 16
 If IsNumeric(Controls("TextBox" & x).Value) Then
 .Cells(Dl, x) = Int(Controls("TextBox" & x))
 Else
 .Cells(Dl, x) = Controls("TextBox" & x)
 End If
 Next x
End With
pas simplifier mais bon!!!
 

Discussions similaires

Réponses
1
Affichages
542

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 011
dernier inscrit
rine