Probleme de textbox et recuperation de donnée

bonjour ,

je fait appelle a votre savoir ,j'ai un userform avec des textbox jusque la tous va bien le problème ce a la récupération des données,j'arrive a les recuperer mais je ne peut rien faire avec :changer format ,faire une somme des chiffre recuperer,etc.....

S quelqu'un a une solution merci beaucoup

20exbou.xlsm (62.01 Ko)

Bonjour,

Les contrôles de Userform ne peuvent contenir que du texte. (Même si on leur applique une mise en forme, ça reste du texte...)

Pour les utiliser comme des nombres ou des dates dans une feuille de calcul il faut utiliser des convertisseurs de type et éventuellement des mises en forme à la sortie du Userform.

Exemple :

Range("A1")= CLng(TextBox1)
Range("B1")= CDate(TextBox2)
Range("B3")=CCur(TextBox3)

A+

rebonjour ,je suis novice et je ne sais pas ou placer tes reponses

faut il les mettre directement dans les textbox ou sur la feuille de calcul

merci de vos reponse

Re...

Ce ne sont que des exemples. Pas des codes à placer directement.

le code de ton userform tu as une longue suite de

Private Sub CommandButton1_Click()
Dim L As Integer
L = Sheets("reception").Range("a65536").End(xlUp).Row + 1
Sheets("reception").Range("A" & L).Value = ComboBox3
Sheets("reception").Range("B" & L).Value = ComboBox4
Sheets("reception").Range("C" & L).Value = ComboBox5
Sheets("reception").Range("D" & L).Value = ComboBox1
Sheets("reception").Range("E" & L).Value = TextBox1
Sheets("reception").Range("F" & L).Value = TextBox2
Sheets("reception").Range("G" & L).Value = TextBox3
Sheets("reception").Range("h" & L).Value = TextBox7
Sheets("reception").Range("i" & L).Value = ComboBox2
Sheets("reception").Range("j" & L).Value = TextBox4
Sheets("reception").Range("k" & L).Value = TextBox5
Sheets("reception").Range("l" & L).Value = TextBox6
Sheets("reception").Range("m" & L).Value = TextBox8
Unload Me
End Sub

Il faut assurer la conversion de tes contrôles et non pas les transférer tel quel dans la feuille.

Par exemple dans les colonnes H et M qui contiennent des dates il faut écrire = CDate(TextBox7)

la colonne C peut-être transformée en integer directement ou en date avec le format approprié.

Les colonnes numériques converties en double ou currency puis formatées de la manière appropriée.

C'est à toi de tester les fonctions de conversion et de format et de les maitriser pour pouvoir te lancer dans des USF compliqués.

On ne peut pas prendre ce genre de décision à ta place.

En principe un champ calculé n'a pas besoin d'être calculé dans le userform l'important est que le résultat du calcul soit transféré dans la feuille...

Je te renvoie aux nombreux exemples de USF dans ce forum pour voir d'autres exemple de ces tranferts.

A+

Bonjour

A testé mais car lors du Transfer de tes texbox dans la feuille ils étaient au format texte donc ton calcule ne pouvais pas se faire

Par contre faudrait revoir comment calculer tes colonnes car lors de la dernière ligne ou se trouve tes formules seront écrasés

31exbou-test.xlsm (52.65 Ko)

re, merci beaucoup pour ton aide

je vais me pencher sur la chose encore merci

bonsoir tous le monde, j'ai beau chercher mais je trouve pas comment kira972j a fait pour transformer les format de cellules

si quelqu'un a une idée

merci a vous

Bonsoir,regarde bien le code j'ai ajouter exple: .value derrière textbox1 pour avoir la valeur et .text derrière textbox7 pour avoir le format text

Private Sub CommandButton1_Click()

Dim L As Integer

L = Sheets("reception").Range("a65536").End(xlUp).Row + 1

Sheets("reception").Range("A" & L).Value = ComboBox3

Sheets("reception").Range("B" & L).Value = ComboBox4

Sheets("reception").Range("C" & L).Value = ComboBox5

Sheets("reception").Range("D" & L).Value = ComboBox1

Sheets("reception").Range("E" & L).Value = TextBox1.Value

Sheets("reception").Range("F" & L).Value = TextBox2.Value

Sheets("reception").Range("G" & L).Value = TextBox3.Value

Sheets("reception").Range("h" & L).Value = TextBox7.Text

Sheets("reception").Range("i" & L).Value = ComboBox2

Sheets("reception").Range("j" & L).Value = TextBox4.Value

Sheets("reception").Range("k" & L).Value = TextBox5.Value

Sheets("reception").Range("l" & L).Value = TextBox6.Value

Sheets("reception").Range("m" & L).Value = TextBox8.Text

Unload Me

End Sub

P.s je te répond depuis mon phone car je suis trés malade là ,si tu as une autre question j'essayerais de té répondre .

Rechercher des sujets similaires à "probleme textbox recuperation donnee"