Mauvaise retranscription des données de Textbox vers des cellule d'une feuille.

donpopo

XLDnaute Occasionnel
Bonjour le forum,

J'arrive à la fin de mon programme de gestion de titres personnel.
Cependant, je bloque sur deux petits points:
J'ai un userform qui me permet d'encoder la date du jour et les valeurs actuelles des placements sur une feuille.
Jusque là pas de problème.

Mais lorsque je clique sur le bouton Encoder, ma date que je récupère comme ci-dessous en JJ/MM/AAAA dans la textbox se met dans la cellule prévue au format MM/JJ/AAAA ! Or, ma cellule réceptrice est au format date JJ/MM/AAAA.

TextBox2 = Date
ActiveSheet.Cells(3, derniereColonne) = TextBox2.Value


Deuxième petit point: les nombres que j'encode suivant la procédure ci-dessous ne sont pas reconnus comme nombres lors du passage dans les cellules de la feuille qui sont au format nombre. Ils se placent à gauche de la colonne et le total ne se fait pas.

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TRANSFORMER LE POINT PAR UNE VIRGULE
If KeyAscii = 46 Then KeyAscii = 44
'ACCEPTER UNIQUEMENT UNE SEULE VIRGULE ET LES CHIFFRES ENTRE 0 ET 9
If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(TextBox3.Value, ",") <> 0 And Chr(KeyAscii) = ",") _
Or (TextBox3.SelStart = 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0: Beep
End Sub

Quelqu'un aurait il une idée pour corriger ces deux problèmes?

D'avance merci,
donpopo
 

Jacky67

XLDnaute Barbatruc
Bonjour le forum,

J'arrive à la fin de mon programme de gestion de titres personnel.
Cependant, je bloque sur deux petits points:
J'ai un userform qui me permet d'encoder la date du jour et les valeurs actuelles des placements sur une feuille.
Jusque là pas de problème.

Mais lorsque je clique sur le bouton Encoder, ma date que je récupère comme ci-dessous en JJ/MM/AAAA dans la textbox se met dans la cellule prévue au format MM/JJ/AAAA ! Or, ma cellule réceptrice est au format date JJ/MM/AAAA.

TextBox2 = Date
ActiveSheet.Cells(3, derniereColonne) = TextBox2.Value


Deuxième petit point: les nombres que j'encode suivant la procédure ci-dessous ne sont pas reconnus comme nombres lors du passage dans les cellules de la feuille qui sont au format nombre. Ils se placent à gauche de la colonne et le total ne se fait pas.

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'TRANSFORMER LE POINT PAR UNE VIRGULE
If KeyAscii = 46 Then KeyAscii = 44
'ACCEPTER UNIQUEMENT UNE SEULE VIRGULE ET LES CHIFFRES ENTRE 0 ET 9
If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(TextBox3.Value, ",") <> 0 And Chr(KeyAscii) = ",") _
Or (TextBox3.SelStart = 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0: Beep
End Sub

Quelqu'un aurait il une idée pour corriger ces deux problèmes?

D'avance merci,
donpopo

Bonjour,
Sans classeur avec l'userform, je dirais…

ActiveSheet.Cells(3, derniereColonne) = CDate(TextBox2.Value)
ActiveSheet.Cells(4, derniereColonne) = CDbl(TextBox3.Value)
En adaptant les cellules
 

Discussions similaires