XL 2016 Problème de transformation texte en chiffres

Lord Fredo

XLDnaute Nouveau
Bonjour le Forum,

Encore une fois j'ai besoin de votre aide...
Lors de la validation de mon formulaire, celui-ci incrémente ma base de données.
en revanche, la colonne "D" de ma base est au format nombre. malheureusement, lorsque je valide le formulaire, celui-ci est au format texte. J'arrive à le faire manuellement pour que la cellule contienne bien 9 chiffres, en revanche, à l'aide du code VBA ma recherche est restée infructueuse.

Je vous joins le fichier

D'avance merci de votre aide et aussi votre temps
 

Pièces jointes

  • preparation enregistrement DS_02.xlsm
    69.4 KB · Affichages: 12
Solution
Bonjour à tous,

Si la colonne D est toujours sur 9 chiffres (pas plus, pas moins, pas de caractères), une solution possible :

VB:
 Range("D" & L).Value = Val(TextBox4)
Range("D" & L).NumberFormat = "000000000"

A+

jmfmarques

XLDnaute Accro
Bonjour
Je n'ouvre jamais un classeur tiers et n'ai donc pas ouvert le tien.
La lecture de ton message me laisse toutefois deviner que ta "validation" est celle de saisies ou données de contrôles (textbox, listbox, combobox, etc ...) dont la propriété utile est de type String.
Si tel est le cas, il convient d'affecter à la propriété Value des cellules concernées la transposition en type numérique (Integer, Long, Single ou Double selon le cas) de la donnée en type string.
Existent pour cela les fonctions VBA de conversion Cint, Clng, Csng et Cdbl.
Existe également la fonction Val, parfaitement efficace mais à la condition que le séparateur décimal éventuellement présent dans l'expression alphanumérique soit le "."
 

Paf

XLDnaute Barbatruc
Bonjour à tous,

Si la colonne D est toujours sur 9 chiffres (pas plus, pas moins, pas de caractères), une solution possible :

VB:
 Range("D" & L).Value = Val(TextBox4)
Range("D" & L).NumberFormat = "000000000"

A+
 
Dernière édition:

Lord Fredo

XLDnaute Nouveau
Bonjour
Je n'ouvre jamais un classeur tiers et n'ai donc pas ouvert le tien.
La lecture de ton message me laisse toutefois deviner que ta "validation" est celle de saisies ou données de contrôles (textbox, listbox, combobox, etc ...) dont la propriété utile est de type String.
Si tel est le cas, il convient d'affecter à la propriété Value des cellules concernées la transposition en type numérique (Integer, Long, Single ou Double selon le cas) de la donnée en type string.
Existent pour cela les fonctions VBA de conversion Cint, Clng, Csng et Cdbl.
Existe également la fonction Val, parfaitement efficace mais à la condition que le séparateur décimal éventuellement présent dans l'expression alphanumérique soit le "."
Bonjour jmfmarques,
Merci pour ton aide
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Histoire de varier les plaisirs
(et accessoirement d'occuper mon dimanche matin)
Deux variantes d'écriture de la proposition de Paf
(que je salue au passage ;))
VB:
Private Sub CommandButton1_Click()
L = 5 '-< juste pour pouvoir tester
With Range("D" & L)
.Value = TextBox1 * 1
.NumberFormat = "000000000"
End With
End Sub
VB:
Private Sub CommandButton1_Click()
L = 5 '-< juste pour pouvoir tester
With Cells(L, "D")
.Value = TextBox1 * 1
.NumberFormat = "000000000"
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40