Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - TextBox automatiquement en majuscule.

13 réponses
Avatar
twinley
Bonsoir à tous,

J'ai un UserForm qui a dix TextBox.
Cinq TextBox permettent de rentrer du texte.
Je souhaite passer automatiquement le texte en majuscule.
J'ai trouvé la petite merveille qui suit...

Private Sub TextBox1_Change()
Dim A As Variant
A = Me.TextBox1
A = UCase(A)
Me.TextBox1 = A
End Sub

Mes questions :
je la met où ?
je dois en faire une pour chaque TextBox, et la deuxième je la met où ?

Merci pour vos lumières

Bonne soirée

--
à+twinley

10 réponses

1 2
Avatar
twinley
C'est bon, j'ai trouvé. Désolé pour le dérangement.
On dirait qu'il suffit de poser une question con et on trouve tout de
suite...Ooooh la honte !

Bonne nuit

à+twinley

Bonsoir à tous,

J'ai un UserForm qui a dix TextBox.
Cinq TextBox permettent de rentrer du texte.
Je souhaite passer automatiquement le texte en majuscule.
J'ai trouvé la petite merveille qui suit...

Private Sub TextBox1_Change()
Dim A As Variant
A = Me.TextBox1
A = UCase(A)
Me.TextBox1 = A
End Sub

Mes questions :
je la met où ?
je dois en faire une pour chaque TextBox, et la deuxième je la met où ?

Merci pour vos lumières

Bonne soirée



Avatar
Clément Marcotte
Bonjour,

Dans la fenêtre de code de l'UserForm.

Tu déroules choisis TextBox1 dans liste déroulante de gauche, et
Change dans la liste déroulante de droite.


"twinley" a écrit dans le message de
news:
Bonsoir à tous,

J'ai un UserForm qui a dix TextBox.
Cinq TextBox permettent de rentrer du texte.
Je souhaite passer automatiquement le texte en majuscule.
J'ai trouvé la petite merveille qui suit...

Private Sub TextBox1_Change()
Dim A As Variant
A = Me.TextBox1
A = UCase(A)
Me.TextBox1 = A
End Sub

Mes questions :
je la met où ?
je dois en faire une pour chaque TextBox, et la deuxième je la met
où ?


Merci pour vos lumières

Bonne soirée

--
à+twinley


Avatar
twinley
Merci Clément.

J'ai eu un grand moment de sollitude, puis la lucidité est revenue.

Bonne soirée à toi et pour nous bonne nuit.

à+twinley

Bonjour,

Dans la fenêtre de code de l'UserForm.

Tu déroules choisis TextBox1 dans liste déroulante de gauche, et
Change dans la liste déroulante de droite.


"twinley" a écrit dans le message de
news:

Bonsoir à tous,

J'ai un UserForm qui a dix TextBox.
Cinq TextBox permettent de rentrer du texte.
Je souhaite passer automatiquement le texte en majuscule.
J'ai trouvé la petite merveille qui suit...

Private Sub TextBox1_Change()
Dim A As Variant
A = Me.TextBox1
A = UCase(A)
Me.TextBox1 = A
End Sub

Mes questions :
je la met où ?
je dois en faire une pour chaque TextBox, et la deuxième je la met


où ?

Merci pour vos lumières

Bonne soirée

--
à+twinley






Avatar
Michel Gaboly
Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox
Avatar
Michel Gaboly
Désolé,

Depuis que je suis sous FireFox, pour la seconde fois le message est
tronqué, il en manque l'essentiel ;-((

Il faut que je le reconstitue et que je le reposte, et surtout que je
trouve quelle mauvaise manip provoque cela.

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox



--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Michel Gaboly
Version complète, j'espère ;-))

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox

Ceci crée une nouvelle classe (une sorte de catégorie), capable de
réagir aux événements (Events en anglais).

NB - "Option Explicit" n'est pas indispensable, mais je conseille
vivement de cocher "Déclaration explicite des vaiables", dans les
préférences (options, sous Windows).


Dans le même module, on indique ce qui doit se passer quans survient
l'événement Change :

Private Sub TextBoxes_Change()
TextBoxes = UCase(TextBoxes)
End Sub
Avatar
twinley
Bonjour Michel,

Merci pour tes explications. Voilà encore une voie royale à explorer et
à pratiquer.
Au moment de ma question j'étais perdu, et après je me doutais bien que
ce n'était pas nécessaire de répéter le code pour chaque TextBox mais je
n'aurais pas trouvé...
Je vais mettre dorénavant Option Explicit, ce que j'ai négligé jusqu'à
maintenant.

à+twinley

Version complète, j'espère ;-))

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox

Ceci crée une nouvelle classe (une sorte de catégorie), capable de
réagir aux événements (Events en anglais).

NB - "Option Explicit" n'est pas indispensable, mais je conseille
vivement de cocher "Déclaration explicite des vaiables", dans les
préférences (options, sous Windows).


Dans le même module, on indique ce qui doit se passer quans survient
l'événement Change :

Private Sub TextBoxes_Change()
TextBoxes = UCase(TextBoxes)
End Sub


Avatar
Michel Gaboly
Version précédente encore tronquée ;-((

Par sécurité, j'ai mis une copie du message complet à cette adresse :
http://www.gaboly.com/MPFE/Classe1.html

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox

Ceci crée une nouvelle classe (une sorte de catégorie), capable de
réagir aux événements (Events en anglais).

NB - "Option Explicit" n'est pas indispensable, mais je conseille
vivement de cocher "Déclaration explicite des vaiables", dans les
préférences (options, sous Windows).

Dans le même module, on indique ce qui doit se passer quans survient
l'événement Change :

Private Sub TextBoxes_Change()
TextBoxes = UCase(TextBoxes)
End Sub
Avatar
twinley
Bizarre cette censure de la part de ton lecteur de news ! texte trop long ?
Impec, j'ai tout pris la totalité du message sur ton site.

En espérant que tout cela te sera utile.


Tu penses !!! Il y a un moment que je détourne mon attention dès que
cela parle de module de classe, bien que je sente que c'est vachement bien.
Là, c'est l'occasion de rentrer dedans sur un exemple qui me concerne.
Je ne vais pas manquer l'occasion. Je vais diggérer ta leçon. 8-)
Au risque de me répéter, merci beaucoup...

Bonne journée.

à+twinley

Version précédente encore tronquée ;-((

Par sécurité, j'ai mis une copie du message complet à cette adresse :
http://www.gaboly.com/MPFE/Classe1.html

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un module
de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox

Ceci crée une nouvelle classe (une sorte de catégorie), capable de
réagir aux événements (Events en anglais).

NB - "Option Explicit" n'est pas indispensable, mais je conseille
vivement de cocher "Déclaration explicite des vaiables", dans les
préférences (options, sous Windows).

Dans le même module, on indique ce qui doit se passer quans survient
l'événement Change :

Private Sub TextBoxes_Change()
TextBoxes = UCase(TextBoxes)
End Sub


Avatar
Michel Gaboly
De rien, ;-))) C'était avec grand plaisir, mais j'aimerais bien
comprendre ce qui se passe avec Thunderbird 1.0 fr ;-((

Bizarre cette censure de la part de ton lecteur de news ! texte trop long ?
Impec, j'ai tout pris la totalité du message sur ton site.

En espérant que tout cela te sera utile.


Tu penses !!! Il y a un moment que je détourne mon attention dès que
cela parle de module de classe, bien que je sente que c'est vachement bien.
Là, c'est l'occasion de rentrer dedans sur un exemple qui me concerne.
Je ne vais pas manquer l'occasion. Je vais diggérer ta leçon. 8-)
Au risque de me répéter, merci beaucoup...

Bonne journée.

à+twinley


Version précédente encore tronquée ;-((

Par sécurité, j'ai mis une copie du message complet à cette adresse :
http://www.gaboly.com/MPFE/Classe1.html

Bonjour twinley,

Je viens seulement de lire ton message du 3.

On n'y pense pas toujours, mais quand on a un même traitement pour
plusieurs contrôles, il est souvent intéressant de passer par un
module de classe, ce qui permet d'avoir un code unique.

Pour cela on crée un module de classe avec en haut du module :

Option Explicit
Public WithEvents TextBoxes As MSForms.TextBox

Ceci crée une nouvelle classe (une sorte de catégorie), capable de
réagir aux événements (Events en anglais).

NB - "Option Explicit" n'est pas indispensable, mais je conseille
vivement de cocher "Déclaration explicite des vaiables", dans les
préférences (options, sous Windows).

Dans le même module, on indique ce qui doit se passer quans survient
l'événement Change :

Private Sub TextBoxes_Change()
TextBoxes = UCase(TextBoxes)
End Sub




--
Cordialement,

Michel Gaboly
www.gaboly.com


1 2