XL 2016 Problème de transformation texte en chiffres

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
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 à 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:
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
101
Réponses
13
Affichages
667
Retour