Problème de conversion textbox en nombre sur Userform

Bonjour et merci d'avance des précieux conseils que vous pourrez me proposer.

Je suis entrain de metre en place un classeur de gestion de clients et de prise de rendez-vous et de gestion des tarifs+ factures.

Dans mon userform2 , la "CboLot"(qui est une textbox car j'avais deja crée plein de fonction la considérant en combobox avant de changer son format) et CboDoc(aussi une textbox) doivent etre retranscrite en nombre et non en texte après avoir appuyer sur le bouton de commande "CmdAjout" qui ajoute une ligne de rendez vous. j'ai essayé ceci mais le code ne fonctionne pas bien qu'il ne renvoie pas d'erreur.

(Columns("K:L").Select

Selection.NumberFormat = "0")

" Après l'ajout, les cellules restent sous format texte." voici le reste du code pour bien comprendre:

Private Sub Cmdajout_Click() 'Pour le bouton Nouveau rdv

Dim L As Integer

If MsgBox("Confirmez-vous l'ajout du Rendez-vous ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then

L = Sheets("RDV").Range("c65536").End(xlUp).Row + 1

Sheets("RDV").Range("D" & L).Value = CVDate(Me.TxtDate)

Sheets("RDV").Range("E" & L).Value = TxtInfo

Sheets("RDV").Range("K" & L).Value = CboLot

Sheets("RDV").Range("L" & L).Value = CboDoc

Sheets("RDV").Range("B" & L).Value = CboNom2

Sheets("RDV").Range("F" & L).Value = TxtBien

Sheets("RDV").Range("G" & L).Value = TxtPostal

Sheets("RDV").Range("H" & L).Value = TxtNo

Sheets("RDV").Range("I" & L).Value = TxtDestinataire

Sheets("RDV").Range("S" & L).Value = TxtVille

Sheets("RDV").Range("C" & L).Value = CboFacture

Columns("K:L").Select

Selection.NumberFormat = "0"

end sub.

J'avais également trouvé cette solution qui ne me conviens pas non plus:

Sub essai() Dim Tabl(), i As Long Tabl = Range("K2:k100") For i = LBound(Tabl, 1) To UBound(Tabl, 1) Tabl(i, 1) = CInt(Tabl(i, 1)) 'remplacer CInt par CDbl si nombres décimaux Next Range("k2").Resize(UBound(Tabl, 1), 1) = Tabl End Sub

Sub essai() Dim Tabl(), i As Long Tabl = Range("L2:L100") For i = LBound(Tabl, 1) To UBound(Tabl, 1) Tabl(i, 1) = CInt(Tabl(i, 1)) 'remplacer CInt par CDbl si nombres décimaux Next Range("L2").Resize(UBound(Tabl, 1), 1) = Tabl End Sub

Qui fait bien son travail de conversion mais qui me crée des lignes non voulues dans mon tableau, jusqu'à la ligne 100 .... alors que je ne souhaite pas créer de ligne supplémentaire, juste modifier les existantes!

Bref je pense qu'il faudrait modifier ce dernier code afin de lui demander de ne modifier le format que de la dernière ligne K et L ( ou du tableau dejà existant)

Dites moi s'il vous plait si je me trompe de jugement et de méthode !

Merci.

Une copie du ficher complet en annexes.

Bonjour,

As-tu essayé Cdbl devant le contenu de tes textbox à transformer en numérique?

Sheets("RDV").Range("L" & L).Value =Cdbl(CboDoc.value)

Cordialement

ddetp88

Bonsoir,

J'allais ajouter une série de solutions... mais pris d'un doute, j'ai fait un test.

Alors, avec ta syntaxe = TextBox1 les nombres sont transférés en format texte

mais en mettant = TextBox1.Value ils sont transférés en tant que nombres.

Pour les nombres décimaux, dans ce cas ils sont transférés en tant que nombres si dans le TextBox le séparateur décimal était le point (qui se transforme alors en virgule) ; s'il sagissait d'une virgule ils sont transférés en format texte.

Cordialement

Ferrand

Ton code règle effectivement le problème de conversion de texte en nombre !

Merci beaucoup pour ta rapidité et ton aide ddetp88! Sujet résolu !

Rechercher des sujets similaires à "probleme conversion textbox nombre userform"