bonjour je voudrais savoir si il y a une solution pour éviter de remplir 20 fois la même chose alors qu' il n y a que le n° de textbox qui change
Private Sub textbox4_change() '1 lettre majuscule
TextBox4.Text = Application.Proper(TextBox4.Text)
End Sub
la même chose pour la 20 25 30 35 et ainsi de suite
merci de votre aide
Bonsoir. Créez un module de classe nommé SupportTBx contenant ça :
VB:
Option Explicit
Private WithEvents TBx As MSForms.TextBox
Public Sub Init(ByVal TxtBox As MSForms.TextBox)
Set TBx = TxtBox
End Sub
Private Sub TBx_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If TBx.SelStart = 0 Then KeyAscii = AscW(UCase$(ChrW$(KeyAscii)))
End Sub
Dans l'UserForm :
VB:
Option Explicit
Private Cln As New Collection
Private Sub UserForm_Initialize()
Dim N As Integer
Ajout TextBox4
For N = 20 To 35 Step 5: Ajout Me("TextBox" & N): Next N
End Sub
Private Sub Ajout(ByVal TBx As MSForms.TextBox)
Dim SBx As SupportTBx
Set SBx = New SupportTBx
SBx.Init TBx
Cln.Add SBx
End Sub
BONJOUR
je m explique un peu mieux dans mon userform j ai 95 textbox je voudrais mettre une majuscule sur certaine textbox pas tous
ensuite dans les 95 textbox je voudrais mettre au format date qu' une parti des textbox
les 2 codes que j ai écrit fonctionnent mais je dois répéter les codes autant de fois que de textbox ou je dois avoir les codes
existe t il un code pour regrouper tous les textbox en 1 seul code pour les majuscules
et séparément un code pour pour regrouper les textbox en 1 seul code pour les dates
merci
Philippe
Oui, à l'aide d'un autre module de classe semblable à ce que je vous ai indiqué au poste précédent.
Ou à la rigueur un seul module de classe mais avec des options pour indiquer ce qu'il doit faire.
Mais on ne peut pas bien traiter les dates comme ça parce qu'il faudrait se servir de l'évènement Exit, qui n'est pas un évènement de la TextBox mais du contrôle. J'ai un UFmCalend qui serait plus judicieux, mais ça ne va pas non plus parce qu'il faut coupler le calendrier à la TextBox lors de l'évènement Enter, or c'est pareil pour celui là. S'il s'agit seulement de récupérer une valeur adaptée à une cellule c'est faisable. Il y a d'ailleurs tout ce qu'il faut pour ça dans mon objet ControlsAssociés.
Définit deux types d'objets à évènements: ComboBoxLiées prenant en charge les ComboBox pour la saisie des données d'identification de la ligne à créer, puis, ultérieurement, à consulter voire modifier, et ControlsAssociés prenant en charge les...
www.excel-downloads.com
Pour le coup avec cette fourniture il n'y a plus rien à écrire plusieurs fois, même pas les échanges avec une ligne de la base à mettre à jour. Tout se définit dans la Sub UserForm_Initialize.
Bonjour.
Les objets supports CAsso, que le ControlsAssociés conserve, ont une propriété Mode, non utilisée en interne, vous y mettez ce que vous voulez, permettant aussi d'orienter le traitement dans les procédures Change et KeyPress communes à tous les contrôles associés ajoutés. Il doit être déclaré avec l'attribut WithEvents pour pouvoir les prendre en charge.