Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

un seul code pour 14 textbox

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 !

dindin

XLDnaute Occasionnel
Bonjour le forum

SVP comment faire pour appliquer ce meme code sur 14 textbox (du N° 1 au N°14 )
afin d'éviter de le repeter 14 fois.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Byte
For i = 1 To 14
With Me.Controls("TextBox" & i)
.Value = Format(.Text, "# ###.00 €")
End With
Next i
End Sub
 
Re : un seul code pour 14 textbox

Bonjour à tous,

Je reviens sur le Module de classe avec ce code :

Code:
Public WithEvents Tbx As MSForms.TextBox

Private Sub Tbx_Change()
Dim t As String, p As Integer
If Tbx = "" Then Exit Sub
t = Replace(Tbx, ",", ".")
p = Application.Max(Tbx.SelStart - InStr(t & ".", "."), -1)
t = Replace(t, Chr(160), "")
Tbx = Format(Val(t), "#,###.00 €")
t = Replace(Tbx, ",", ".")
Tbx.SelStart = InStr(t, ".") + p 'position du curseur
End Sub
Le format monétaire est mis en place à chaque modification mais ce n'est guère gênant...

Bien noter que pour le séparateur des milliers VBA utilise l'espace insécable de code 160.

Le code fonctionne quel que soit le séparateur décimal de l'ordi.

Fichier (2).

A+
 

Pièces jointes

Dernière édition:
Re : un seul code pour 14 textbox

re,tous 🙂🙂🙂🙂
dans ce cas la il faut prevoir si on fait une erreur de frappe ou effacer la selection si on veut plus que la textbox soit renseignée 🙂

ps concernant le code de l'ami Dranreb🙂

Code:
Public WithEvents groupetextbox As MSForms.Control
cela doit marcher avec une collection deja vu mais ou ??? en esperant que c'est pas du vb6 & bien du vba

les collections font bien reference a des objects
 
Dernière édition:
Re : un seul code pour 14 textbox

Bonjour Lætitia
Public WithEvents groupetextbox As MSForms.Control

cela doit marcher avec une collection
J'en étais bien persuadé aussi, mais mes quelques tentatives de faire un Set dessus se sont soldées par ce mystérieux message. Dis nous si tu y arrives.

Et soit dit en passant, en VB6 c'est bien plus simple: on peut donner un indice à une série de contrôles portant le même nom, indice qu'on retrouve en 1er paramètre de leurs procédures évènements ! Je me demande vraiment pourquoi ils ont fait l'impasse sur cette possibilité dans VBA ?!
À +
 
Dernière édition:
Re : un seul code pour 14 textbox

re,tous 🙂🙂🙂🙂🙂

ben j'ai chercher sur le net rien trouver j'ai essayer si cela marcher avec controls sur feuille idem
prends bien

Code:
Public WithEvents groupetextbox As MSForms.Control

plus evenement Exit & Enter mais pareil erreur 459
moi pas comprendre du moment qu'il les acceptent d'entrée il devrait mettre une erreur a ce niveau

autrement j'ai fais un autre exemple sans controls dans user pour declencher evenement
cela a l'air de marcher seulement avec MouseDown deplacement avec souris
j'ai remarquer qu'avec GetFocus & LostFocus pour controls dans frame scintillement + plus de ressource pros...
ressources memoire acceptable

ps pour l'ami Job🙂 que je salue j'ai repondu trop vite en cas de modif milles excuses cela marche autrement trop bien ton petit code...🙂🙂
 

Pièces jointes

Dernière édition:
- 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
5
Affichages
264
Réponses
3
Affichages
671
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…