format dans un textbox

  • Initiateur de la discussion JC de Lorient
  • Date de début
J

JC de Lorient

Guest
Bonsoir le forum

malgré quelques recherches je n'ai rien trouver pour mon souci qui me semble pourrtant très simple

comment faire pour que lorsque je rentre 12555 dans mon text box il m'affiche 12 555.00
c sans doute une question de format mé là je coince !!

Private Sub TBoxMt_Change()
TBoxMt.Value = Format(TBoxMt.Value, '0,00')
End Sub

merci a vous

JC
 

Hervé

XLDnaute Barbatruc
Bonsoir

je ne pense pas que tu puisse faire ceci dans l'évenement change.

essaye comme ceci :

Private Sub TextBox1_AfterUpdate()
TextBox1 = Format(TextBox1, '##,##0.00')
End Sub

Je place le code dans la macro évenementielle afterupdate volontairement, en effet ce code ne s'appliquera que lorsque tu donneras le focus à un autre control.

Salut
 

Hervé

XLDnaute Barbatruc
re

Comme tu commences avec les textbox et le numérique, tu va vite te trouver face à un souci : la virgule du clavier numérique.

En effet, excel n'interprète pas le point comme une virgule, pour éviter cet éceuil, on remplace lors de la frappe le . par une ,

Pour ceci on utilise ce type de macro :

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 46 Then KeyAscii = 44
End Sub

Ainsi plus de problème.

Salut

Ps: merci Didier_Mdf pour l'alerte sur le tchat

Message édité par: Hervé, à: 21/04/2005 00:06
 
J

JC de Lorient

Guest
re tout le monde

ben voilà je reviens déjà !!!!
mais cette fois avec les boutns d'options
j'en ai 3 que je veux 'marier'
Lors de la validation du UserForm je souhaiterais

Si aucun bouton n'est coché => message 'il en faut au moins 1 de coché '
Si plus d'un de cocher => message 'qu'un seul bouton svp !!'

comment écrire ça en VBA ,

merci bcp
bonne fin de soirée
JC
 

Hervé

XLDnaute Barbatruc
re

Pour tester si au moins un des optionbutton à été coché, j'utilise un boolean.

voir en pièce jointe

Private Sub CommandButton1_Click()
Dim i As Byte
Dim pasbon As Boolean

pasbon = False

For i = 1 To 3
If Controls('OptionButton' & i).Value = True Then
pasbon = True
End If
Next i

If pasbon = False Then MsgBox 'cochez un optionbutton'

End Sub

Il doit y avoir plus simple, mais j'ai pas trouvé :)

Salut
[file name=Classeur1_20050421002155.zip size=10420]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20050421002155.zip[/file]
 

Pièces jointes

  • Classeur1_20050421002155.zip
    10.2 KB · Affichages: 27
J

JC de Lorient

Guest
re le forum!
je viens de voir que mon dernier post n'est pas passé !

Hervé merci pour l'info du '.'

Donc comme je disais j'ai regroupé mes OptionBouton par groupe

OptionBouton 1,2 et = groupName :Type

la question: comment tester la valeur True ou False de ce groupe ?

Est ce possible ? si oui comment ?

merci a vous

JC
 
J

JC de Lorient

Guest
Bonjour Hervé, le forum

Je n'ai pas testé ta propo de hier soir
en fait je pensais que l'on pouvais vérifier la condition uniquement par le GroupName

vé voir si c faisable et si qq1 a la soultion
sinon je m'adapterai avec ta propo

Merci bcp

JC
 
J

JC de Lorient

Guest
re le forum

bon maintenant je cherche ( bien sur ai pô trouver) comment dans un textbox au lancement du UF sélectionner le texte en entier (une date) afin de pouvoir réécrire par dessus plutot que d'avoir le curseur à la droite de ce texte ?

merci a vous
JC
 

Hervé

XLDnaute Barbatruc
re

Code:
Private Sub UserForm_Initialize()
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End Sub

Il faut, pour que ceci ce voit, qu'une donnée soit présente dans le textbox bien sur.

ou en est-tu avec les optionbutton, le code que je t'ai donné fonctionne ?

salut
 
J

JC de Lorient

Guest
Salut Hervé
je crois qu'on va passer un sacré moment ensemble !! :)

nickel pour ce dernier code !!
ai tjrs pas essaye le code des optionbutton (ai trop de choses a régler avant!!) mé je garde ça au chaud !!!

autre soucis (j'en suis plus a un près !!)

j'ai ça :

Private Sub CBoxTxCom_Change()
CBoxTxCom = Format(CBoxTxCom, '0.00%')
End Sub
**************
Private Sub TBoxUP_AfterUpdate()
TBoxUP = Format(TBoxUP, '##,##0')
End Sub
*********
pourquoi ça ça ne marche pas ? il m'affiche que dalle !!

Private Sub TBoxMtCom__Change()
TBoxMtCom = Val(TBoxUP) * Val(CBoxTxCom)
End Sub


merci bcp
JC
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

je pense que c'est normal avec ton format du CBoxTxCom (au fait c'est un combobox ??)

De plus la fonction Val ne prend pas les virgules en compte donc tu auras une erreur

Préfère cdbl pour convertir avec virgule

Sinon pour le coup des optionsbutton au lieu de faire un test en sortie tu peux en mettre un par défaut à true lors de l'initialisation de ton UF ce qui fait qu'il y en aura obligatoireemnt un à vrai en sortie

Bon courage


Edition

Le pllus simple serait peut-être que tu mettes un morceau de ton fichier

Message édité par: Pascal76, à: 21/04/2005 12:17
 
J

JC de Lorient

Guest
re le forum

merci pour l'attention que tu me portes

Pourrais tu me donner un peu d'explications sur cdbl
je n'ai rien trouver dans l'aide !
dans mon précédent post je souhaite en effet multiplier un TextBox par un ComboBox

Autre question kan j'enregistre mes données, mes nombres sont au format texte alors que dans ma feuille j'ai le format nombre je pense que ça vient du USF c un peu génant car j'ai des calculs a faire après

merci a toi

JC
 

Discussions similaires

Réponses
13
Affichages
289
Réponses
3
Affichages
370

Statistiques des forums

Discussions
312 676
Messages
2 090 803
Membres
104 670
dernier inscrit
Djnic30