XL 2013 Remplacement virgule par point dans certaines textboxes (module de classe?)

jptaz15

XLDnaute Nouveau
Bonjour à tous,

Seriez-vous en mesure de m'aider? Dans un userform, j'aimerais pouvoir remplacer la virgule par un point dans certaines textbox, mais pas toutes.

J'utilise actuellement le code suivant, mais le faire pour une cinquantaine de textboxes non consécutives ça me semble alourdir le code au final.
Est-ce qu'un module de classe pourrait être une option? Je ne suis cependant pas très habile dans ce genre de trucs...

Mes textboxes portent toutes le même Reg1,2,3, etc.

VB:
Reg180.Text = Replace(Reg180.Text, ",", ".")

Si quelqu'un a un peu de temps ça serait gentil.

ps : j'ai déjà un module de classe qu'on m'avait aidé à faire, mais j'y comprend rien pour répéter l'expérience...

merci d'avance
 
Solution
Bonsoir à tous

toutes les textbox que vous souhaitez remplacer doivent être liées par la propriété "Tag",
écrivez le nom que vous voulez dans le "Tag" pour tous les "TextBox" qui seront affectés


Capturar.JPG


VB:
Dim objControl As Control

For Each objControl In Me.Controls
   If TypeName(objControl) = "TextBox" Then
      If objControl.Tag = "ReplaceDot" Then
        objControl.Text = Replace(objControl.Text, ",", ".")
      End If
   End If
Next objControl

insérez ce code à la fin de la macro qui remplit le "TextBox", ou où vous voulez

Rhysand

XLDnaute Junior
Bonsoir à tous

toutes les textbox que vous souhaitez remplacer doivent être liées par la propriété "Tag",
écrivez le nom que vous voulez dans le "Tag" pour tous les "TextBox" qui seront affectés


Capturar.JPG


VB:
Dim objControl As Control

For Each objControl In Me.Controls
   If TypeName(objControl) = "TextBox" Then
      If objControl.Tag = "ReplaceDot" Then
        objControl.Text = Replace(objControl.Text, ",", ".")
      End If
   End If
Next objControl

insérez ce code à la fin de la macro qui remplit le "TextBox", ou où vous voulez
 

jptaz15

XLDnaute Nouveau
Bonsoir à tous

toutes les textbox que vous souhaitez remplacer doivent être liées par la propriété "Tag",
écrivez le nom que vous voulez dans le "Tag" pour tous les "TextBox" qui seront affectés


Regarde la pièce jointe 1085238

VB:
Dim objControl As Control

For Each objControl In Me.Controls
   If TypeName(objControl) = "TextBox" Then
      If objControl.Tag = "ReplaceDot" Then
        objControl.Text = Replace(objControl.Text, ",", ".")
      End If
   End If
Next objControl

insérez ce code à la fin de la macro qui remplit le "TextBox", ou où vous voulez
Merci beaucoup à vous deux, ça fonctionne vraiment très bien et ça me fait sauver une tonne de code!!
 

Discussions similaires