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
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
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
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
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
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
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
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