Format sur plusieurs textbox...

  • Initiateur de la discussion Initiateur de la discussion JC17
  • Date de début Date de début

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 !

JC17

XLDnaute Nouveau
Bonjour tout le monde,
Faute d'avoir trouvé la solution à mon problème dans les archives du forum, je viens poser ma question en directe. (et désolé si la chaleur accablante qu'il fait dans mon bureau m'a fait rater le fil qui aurait pu m'aider...)

Mon problème est assez simple. J'ai plusieurs textbox à paramétrer en format date. Je connais le code :
Code:
Private Sub TextBox2_AfterUpdate()
TextBox2.Value = Format(TextBox2.Value, "00""/""00""/""0000")
End Sub
Private Sub TextBox2_Change()
TextBox2.MaxLength = 8
TextBox2.AutoTab = True
End Sub

Jusque là, pas de problème... Le hic vient du fait que je doit appliquer ce format de la texbox51 à la textbox77. Et je n'arrive pas à trouver une solution pour grouper le codage. J'ai bien tenté cela :
Code:
Sub TextBox_AfterUpdate()
Dim i As Integer
For i = 51 To 77
With Controls("textbox" & i)
.Value = Format(.Value, "00""/""00""/""0000")
End With
Next i
End Sub
Sub TextBox_Change()
Dim i As Integer
For i = 51 To 77
With Controls("textbox" & i)
.MaxLength = 8
.AutoTab = True
End With
Next i
End Sub
...mais comme vous vous en doutez, cela ne marche pas.
Est-ce que quelqu'un aurait une solution à m'apporter s'il vous plait?
Merci d'avance
JC
 
Re : Format sur plusieurs textbox...

Bonjour Pierrot,
Là, je dois avouer que tu me surestime un peu si tu crois que je sais gérer les modules de classe...😀
Ceci dit, bien que n'ayant pas vraiment testé, je voulais te poser une petite question (avant de tester) :
Est-ce que faire cette manip ne formatera pas l'ensemble de mes textbox?
Parce que j'en ai certaines qui ne sont pas au format date...
Cordialement,
JC
 
Re : Format sur plusieurs textbox...

Excusez-moi, je viens de me rendre compte que ma réponse faisait un peu "faignasse"....🙄
De toute façon, je vois pas trop comment adapter le code à juste certaines textbox.... 😱
 
Re : Format sur plusieurs textbox...

Bonsoir

regarde le fichier joint, évènement change du textbox se déclenche uniquement sur les textbox 51 a 77, filtre par une condition sur le nom, lors de la création de la classe. le format date est appliqué lors de la saisie sur les 3 derniers.

attention l'évènement after update du textbox n'est pas disponible via un module de classe.

bonne soirée
@+
 

Pièces jointes

Re : Format sur plusieurs textbox...

bonjour JC17

Salut à tous

partant d'un essai concluant avec
Code:
Private Sub UserForm_Initialize()
For n = 0 To UserForm1.Controls.Count - 2
  UserForm1.Controls("TextBox" & n + 1).Value = "TextBox" & n + 1
Next n
End Sub

pour un userform avec 2 TextBox et un bouton de commande

je suggère:

Code:
For i = 51 To 77
With [COLOR=red]Userform1.[/COLOR]Controls("TextBox" & i)
.Value = Format(.Value, "00""/""00""/""0000")
End With
Next i
End Sub

Userform1 a adapter bien sur !
 
Re : Format sur plusieurs textbox...

Bonjour Pierrot,
Merci pour ta réponse qui me rapproche beaucoup de la solution que je cherchais.
Si j'ai bien compris ce que tu m'as dit à propos du update, on ne peut pas paramétrer un autotab.... C'est bien ça? Si c'est le cas, c'est un peu dommage... Enfin, t'as solution est quand même plutôt satisfaisante.
Encore merci.
Cordialement,
JC
 
Re : Format sur plusieurs textbox...

Bonjour Pierre-Jean,
Désolé, je n'avais pas vu ta réponse...
Le problème avec ta proposition (si j'ai bien tout compris), c'est qu'elle ne créé le format que lors de la recopie sur Excel. Le format n'est pas appliqué lors de la saisie sur le USF...🙁
Arf... Je ne pensais pas que ce que je voulais faire n'était pas prévu en VBA. Je trouve ça un peu bizarre.. mais bon, je vais tenter de me débrouiller avec les débuts de solutions que vous m'avez tous fournis. Au pire, je taperai 25 codes différents... 😱
Merci quand même à vous tous et si quelqu'un trouve la solution miracle, je reste à l'écoute...😉
Cordialement,
JC
 
Re : Format sur plusieurs textbox...

Bonjour JC, PierrJean, Wilfried

si l'autotab peut être utilisé, ce n'est pas un évènement mais une propriété, qui est liée au nombre maximum de caractères autorisés dans un textbox (propriété (MaxLength).

bonne journée
@+
 
- 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
3
Affichages
965
Retour