TextBox & Module de classe

Le
Jean-Paul V
Bonjour à tous
J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
lettre de l’alphabet

J’ai dans un Module de classe cette Macro qui fonctionne :

Public WithEvents GrLettres As MSForms.CommandButton
Private Sub GrLettres_Click()
Dim Résult As String
‘Premier cas utililiser une lettre pour sélectionner une liste
If Formulaire.OptionButton2.Value = True Then
….
Else
‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
TextBox du Userform
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult
End If
End Sub

Comment pourrait-on modifier :
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult

Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
cliquée

En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
lettre cliquée dans le TextBox cliqué là où je suis.

Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
obtenir dans Compositeur BEETHOVEN
1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
cette lettre là ou je suis dans le TextBox sélectionné.
3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
de supprimer la lettre à droite .

A + j’espère

--
Jean-Paul V
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19943721
Un petit exemple simple. Ce qui est entré dans les textbox
c'est ce qui est affiché comme caption des boutons de commande.

http://cjoint.com/?iruJmJiuet



"Jean-Paul V" discussion :
Bonjour à tous
J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
lettre de l’alphabet

J’ai dans un Module de classe cette Macro qui fonctionne :

Public WithEvents GrLettres As MSForms.CommandButton
Private Sub GrLettres_Click()
Dim Résult As String
‘Premier cas utililiser une lettre pour sélectionner une liste
If Formulaire.OptionButton2.Value = True Then
….
Else
‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
TextBox du Userform
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult
End If
End Sub

Comment pourrait-on modifier :
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult

Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
cliquée

En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
lettre cliquée dans le TextBox cliqué là où je suis.

Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
obtenir dans Compositeur BEETHOVEN
1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
cette lettre là ou je suis dans le TextBox sélectionné.
3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
de supprimer la lettre à droite .

A + j’espère

--
Jean-Paul V
MichDenis
Le #19943921
Tu peux enlever du formulaire, les événements TextBox_Enter
ils ne sont pas utiles.


"MichDenis"
Un petit exemple simple. Ce qui est entré dans les textbox
c'est ce qui est affiché comme caption des boutons de commande.

http://cjoint.com/?iruJmJiuet



"Jean-Paul V" discussion :
Bonjour à tous
J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
lettre de l’alphabet

J’ai dans un Module de classe cette Macro qui fonctionne :

Public WithEvents GrLettres As MSForms.CommandButton
Private Sub GrLettres_Click()
Dim Résult As String
‘Premier cas utililiser une lettre pour sélectionner une liste
If Formulaire.OptionButton2.Value = True Then
….
Else
‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
TextBox du Userform
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult
End If
End Sub

Comment pourrait-on modifier :
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult

Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
cliquée

En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
lettre cliquée dans le TextBox cliqué là où je suis.

Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
obtenir dans Compositeur BEETHOVEN
1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
cette lettre là ou je suis dans le TextBox sélectionné.
3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
de supprimer la lettre à droite .

A + j’espère

--
Jean-Paul V
Jean-Paul V
Le #19945301
Bonjour
Merci ton fichier répond à ma demande, reste à étudier le problème de la
suppression d'une lettre là où je suis .--
Jean-Paul V


"MichDenis" wrote:

Tu peux enlever du formulaire, les événements TextBox_Enter
ils ne sont pas utiles.


"MichDenis"
Un petit exemple simple. Ce qui est entré dans les textbox
c'est ce qui est affiché comme caption des boutons de commande.

http://cjoint.com/?iruJmJiuet



"Jean-Paul V" discussion :
Bonjour à tous
J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
lettre de l’alphabet

J’ai dans un Module de classe cette Macro qui fonctionne :

Public WithEvents GrLettres As MSForms.CommandButton
Private Sub GrLettres_Click()
Dim Résult As String
‘Premier cas utililiser une lettre pour sélectionner une liste
If Formulaire.OptionButton2.Value = True Then
….
Else
‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
TextBox du Userform
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult
End If
End Sub

Comment pourrait-on modifier :
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult

Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
cliquée

En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
lettre cliquée dans le TextBox cliqué là où je suis.

Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
obtenir dans Compositeur BEETHOVEN
1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
cette lettre là ou je suis dans le TextBox sélectionné.
3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
de supprimer la lettre à droite .

A + j’espère

--
Jean-Paul V




MichDenis
Le #19946991
Bonjour Jean-Paul,
Après avoir enlevé les procédures : Private Sub TextBox_Enter
Il manque une ligne de code dans la procédure :
'---------------------
Private Sub UserForm_Initialize()

Les dernières lignes de la procédure
Me.TextBox1.SetFocus
MesVariables Me.TextBox1 'Ligne de code manquante
End Sub
'---------------------
| reste à étudier le problème de la suppression d'une lettre là où je suis
La touche "Del" ou "retour arrière fait le travail.

"Jean-Paul V" discussion :
Bonjour
Merci ton fichier répond à ma demande, reste à étudier le problème de la
suppression d'une lettre là où je suis .--
Jean-Paul V


"MichDenis" wrote:

Tu peux enlever du formulaire, les événements TextBox_Enter
ils ne sont pas utiles.


"MichDenis"
Un petit exemple simple. Ce qui est entré dans les textbox
c'est ce qui est affiché comme caption des boutons de commande.

http://cjoint.com/?iruJmJiuet



"Jean-Paul V" discussion :
Bonjour à tous
J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
lettre de l’alphabet

J’ai dans un Module de classe cette Macro qui fonctionne :

Public WithEvents GrLettres As MSForms.CommandButton
Private Sub GrLettres_Click()
Dim Résult As String
‘Premier cas utililiser une lettre pour sélectionner une liste
If Formulaire.OptionButton2.Value = True Then
….
Else
‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
TextBox du Userform
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult
End If
End Sub

Comment pourrait-on modifier :
Me.Prénom.SetFocus
Résult = Formulaire.Prénom.Value
Résult = Résult & GrLettres.Caption
Formulaire.Prénom.Value = Résult

Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
cliquée

En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
lettre cliquée dans le TextBox cliqué là où je suis.

Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
obtenir dans Compositeur BEETHOVEN
1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
cette lettre là ou je suis dans le TextBox sélectionné.
3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
de supprimer la lettre à droite .

A + j’espère

--
Jean-Paul V




Jean-Paul V
Le #19948951
J’ai ajouté à la fin le MesVariables Me.TextBox1
Effectivement c’est mieux.
Mais en supposant que je clique sur un deuxième nom sans changer de zone de
texte comment modifier vos macros pour que le deuxième nom vienne à droite
et pas à gauche de celui déjà saisi.(ce qui est le cas lorsque je fais une
saisie lettre par lettre)

à +
--
Jean-Paul V


"MichDenis" wrote:

Bonjour Jean-Paul,
Après avoir enlevé les procédures : Private Sub TextBox_Enter
Il manque une ligne de code dans la procédure :
'---------------------
Private Sub UserForm_Initialize()

Les dernières lignes de la procédure
Me.TextBox1.SetFocus
MesVariables Me.TextBox1 'Ligne de code manquante
End Sub
'---------------------
| reste à étudier le problème de la suppression d'une lettre là où je suis
La touche "Del" ou "retour arrière fait le travail.

"Jean-Paul V" discussion :
Bonjour
Merci ton fichier répond à ma demande, reste à étudier le problème de la
suppression d'une lettre là où je suis .--
Jean-Paul V


"MichDenis" wrote:

> Tu peux enlever du formulaire, les événements TextBox_Enter
> ils ne sont pas utiles.
>
>
> "MichDenis" >
> Un petit exemple simple. Ce qui est entré dans les textbox
> c'est ce qui est affiché comme caption des boutons de commande.
>
> http://cjoint.com/?iruJmJiuet
>
>
>
> "Jean-Paul V" > discussion :
> Bonjour à tous
> J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
> lettre de l’alphabet
>
> J’ai dans un Module de classe cette Macro qui fonctionne :
>
> Public WithEvents GrLettres As MSForms.CommandButton
> Private Sub GrLettres_Click()
> Dim Résult As String
> ‘Premier cas utililiser une lettre pour sélectionner une liste
> If Formulaire.OptionButton2.Value = True Then
> ….
> Else
> ‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
> TextBox du Userform
> Me.Prénom.SetFocus
> Résult = Formulaire.Prénom.Value
> Résult = Résult & GrLettres.Caption
> Formulaire.Prénom.Value = Résult
> End If
> End Sub
>
> Comment pourrait-on modifier :
> Me.Prénom.SetFocus
> Résult = Formulaire.Prénom.Value
> Résult = Résult & GrLettres.Caption
> Formulaire.Prénom.Value = Résult
>
> Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
> cliquée
>
> En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
> lettre cliquée dans le TextBox cliqué là où je suis.
>
> Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
> curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
> obtenir dans Compositeur BEETHOVEN
> 1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
> 2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
> cette lettre là ou je suis dans le TextBox sélectionné.
> 3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
> de supprimer la lettre à droite .
>
> A + j’espère
>
> --
> Jean-Paul V
>
>



MichDenis
Le #19949101
Bonjour Jean-Paul,

Dans le module de classe "MesBoutons",
il s'agit d'ajouter une ligne de code :


With .Controls(SonNom)
Position = CLng(Position)
.Value = Left(.Value, Position) & Texte & _
Right(.Value, Len(.Value) - Position)
Position = Position + Len(Texte) 'Ligne ajoutée
End With



"Jean-Paul V" discussion :
J’ai ajouté à la fin le MesVariables Me.TextBox1
Effectivement c’est mieux.
Mais en supposant que je clique sur un deuxième nom sans changer de zone de
texte comment modifier vos macros pour que le deuxième nom vienne à droite
et pas à gauche de celui déjà saisi.(ce qui est le cas lorsque je fais une
saisie lettre par lettre)

à +
--
Jean-Paul V


"MichDenis" wrote:

Bonjour Jean-Paul,
Après avoir enlevé les procédures : Private Sub TextBox_Enter
Il manque une ligne de code dans la procédure :
'---------------------
Private Sub UserForm_Initialize()

Les dernières lignes de la procédure
Me.TextBox1.SetFocus
MesVariables Me.TextBox1 'Ligne de code manquante
End Sub
'---------------------
| reste à étudier le problème de la suppression d'une lettre là où je suis
La touche "Del" ou "retour arrière fait le travail.

"Jean-Paul V" discussion :
Bonjour
Merci ton fichier répond à ma demande, reste à étudier le problème de la
suppression d'une lettre là où je suis .--
Jean-Paul V


"MichDenis" wrote:

> Tu peux enlever du formulaire, les événements TextBox_Enter
> ils ne sont pas utiles.
>
>
> "MichDenis" >
> Un petit exemple simple. Ce qui est entré dans les textbox
> c'est ce qui est affiché comme caption des boutons de commande.
>
> http://cjoint.com/?iruJmJiuet
>
>
>
> "Jean-Paul V" > de
> discussion :
> Bonjour à tous
> J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
> lettre de l’alphabet
>
> J’ai dans un Module de classe cette Macro qui fonctionne :
>
> Public WithEvents GrLettres As MSForms.CommandButton
> Private Sub GrLettres_Click()
> Dim Résult As String
> ‘Premier cas utililiser une lettre pour sélectionner une liste
> If Formulaire.OptionButton2.Value = True Then
> ….
> Else
> ‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
> TextBox du Userform
> Me.Prénom.SetFocus
> Résult = Formulaire.Prénom.Value
> Résult = Résult & GrLettres.Caption
> Formulaire.Prénom.Value = Résult
> End If
> End Sub
>
> Comment pourrait-on modifier :
> Me.Prénom.SetFocus
> Résult = Formulaire.Prénom.Value
> Résult = Résult & GrLettres.Caption
> Formulaire.Prénom.Value = Résult
>
> Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
> cliquée
>
> En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
> lettre cliquée dans le TextBox cliqué là où je suis.
>
> Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
> curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
> obtenir dans Compositeur BEETHOVEN
> 1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
> 2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
> cette lettre là ou je suis dans le TextBox sélectionné.
> 3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
> de supprimer la lettre à droite .
>
> A + j’espère
>
> --
> Jean-Paul V
>
>



Jean-Paul V
Le #19949291
Ca marche ! Merci !


--
Jean-Paul V


"MichDenis" wrote:

Bonjour Jean-Paul,

Dans le module de classe "MesBoutons",
il s'agit d'ajouter une ligne de code :


With .Controls(SonNom)
Position = CLng(Position)
.Value = Left(.Value, Position) & Texte & _
Right(.Value, Len(.Value) - Position)
Position = Position + Len(Texte) 'Ligne ajoutée
End With



"Jean-Paul V" discussion :
J’ai ajouté à la fin le MesVariables Me.TextBox1
Effectivement c’est mieux.
Mais en supposant que je clique sur un deuxième nom sans changer de zone de
texte comment modifier vos macros pour que le deuxième nom vienne à droite
et pas à gauche de celui déjà saisi.(ce qui est le cas lorsque je fais une
saisie lettre par lettre)

à +
--
Jean-Paul V


"MichDenis" wrote:

> Bonjour Jean-Paul,
> Après avoir enlevé les procédures : Private Sub TextBox_Enter
> Il manque une ligne de code dans la procédure :
> '---------------------
> Private Sub UserForm_Initialize()
>
> Les dernières lignes de la procédure
> Me.TextBox1.SetFocus
> MesVariables Me.TextBox1 'Ligne de code manquante
> End Sub
> '---------------------
> | reste à étudier le problème de la suppression d'une lettre là où je suis
> La touche "Del" ou "retour arrière fait le travail.
>
> "Jean-Paul V" > discussion :
> Bonjour
> Merci ton fichier répond à ma demande, reste à étudier le problème de la
> suppression d'une lettre là où je suis .--
> Jean-Paul V
>
>
> "MichDenis" wrote:
>
> > Tu peux enlever du formulaire, les événements TextBox_Enter
> > ils ne sont pas utiles.
> >
> >
> > "MichDenis" > >
> > Un petit exemple simple. Ce qui est entré dans les textbox
> > c'est ce qui est affiché comme caption des boutons de commande.
> >
> > http://cjoint.com/?iruJmJiuet
> >
> >
> >
> > "Jean-Paul V" > > de
> > discussion :
> > Bonjour à tous
> > J’ai un Userform nommé Formulaire avec 26 commandButton représentant les 26
> > lettre de l’alphabet
> >
> > J’ai dans un Module de classe cette Macro qui fonctionne :
> >
> > Public WithEvents GrLettres As MSForms.CommandButton
> > Private Sub GrLettres_Click()
> > Dim Résult As String
> > ‘Premier cas utililiser une lettre pour sélectionner une liste
> > If Formulaire.OptionButton2.Value = True Then
> > ….
> > Else
> > ‘Autre cas utiliser ces commandButton pour faire de la saisie dans les
> > TextBox du Userform
> > Me.Prénom.SetFocus
> > Résult = Formulaire.Prénom.Value
> > Résult = Résult & GrLettres.Caption
> > Formulaire.Prénom.Value = Résult
> > End If
> > End Sub
> >
> > Comment pourrait-on modifier :
> > Me.Prénom.SetFocus
> > Résult = Formulaire.Prénom.Value
> > Résult = Résult & GrLettres.Caption
> > Formulaire.Prénom.Value = Résult
> >
> > Qui permet de modifier le TextBox nommé Prénom et de lui ajouter la lettre
> > cliquée
> >
> > En fait mon Userform a plusieurs TextBox , et j’aimerai pouvoir ajouter une
> > lettre cliquée dans le TextBox cliqué là où je suis.
> >
> > Par exemple si dans mon TextBox nommé Compositeur j’ai BETHOVEN si mon
> > curseur est après le E j’aimerai si je clique sur la lettre E de mon Userform
> > obtenir dans Compositeur BEETHOVEN
> > 1)Par quoi remplacer Me.Prénom.SetFocus pour dire le TextBox sélectionné
> > 2)Par quoi remplacer Résult = Résult & GrLettres.Caption pour dire ajouter
> > cette lettre là ou je suis dans le TextBox sélectionné.
> > 3)Si j’ai un CommandButton Suppression comment écrire la macro pour lui dire
> > de supprimer la lettre à droite .
> >
> > A + j’espère
> >
> > --
> > Jean-Paul V
> >
> >
>



Publicité
Poster une réponse
Anonyme