OVH Cloud OVH Cloud

Option button et textbox

5 réponses
Avatar
Crel
Bonjour à toutes et tous
J'ai créé un userform dans lequel, j'ai des optionbutton et un textbox, je
voudrai écrire qu'il faut qu'il y ait au mois 1 Optionbutton et le textbox
remplit pour pouvoir valider.
D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox vierge
au lancement du userform
Merci beaucoup
Patrick

5 réponses

Avatar
garnote
Bonsoir Patrick,

Private Sub UserForm_Initialize()
TextBox1 = ""
End Sub

Serge

D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox vierge
au lancement du userform


Avatar
Crel
Bonsoir Garnote
Merci beaucoup, c'est vrai...
Patrick


"garnote" a écrit dans le message de news:
qF9rb.17764$
Bonsoir Patrick,

Private Sub UserForm_Initialize()
TextBox1 = ""
End Sub

Serge

D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox
vierge


au lancement du userform






Avatar
Crel
Bonjour Michel Le Grand
C'est toujours avec un grand plaisir que je te lis, c'est vrai que ton site
est très clair sur le sujet, en plus j'ai imprimé toutes les explications de
ton site, mais je manque de méthode, et je suis toujours très pressé donc,
j'ai tendance à poser la question sur le forum,.
Merci beaucoup pour toutes tes explications.
Patrick



"Michel Gaboly" a écrit dans le message de news:

Bonjour Crel

Les contrôles de saisie, c'est un thème auquel je suis très
sensible ;-))

De nombreuses explications sur le code que je te propose
ci-dessous, sur cette page :

http://www.gaboly.com/VBA/CodeSimplifieControle.html

Je pense que cela vaut vraiment la peine que tu regardes.


Crée un UserForm avec :

2 CommandButton, nommés "BOK" et "BAnnuler"
3 OptionButton nommés "OParis", "OLYon" et "OMarseille"
1 TextBox nommé "TCode"

Entre ce code dans le module du UserForm :


Option Explicit
Private Choix As String

Private Sub UserForm_Initialize()
Choix = ""
TCode = ""
End Sub

Private Sub BOK_Click()
ControleSaisie
If Resultat Then
ReportDonnees
Unload Me
End If
End Sub

Private Sub BAnnuler_Click()
Unload Me
End Sub

Private Sub ControleSaisie()
Resultat = Controle(TCode = "", "le code.", TCode)
If Resultat Then Resultat = Controle(Choix = "", "la ville.")
End Sub

Private Sub ReportDonnees()
' Ton Traitement
End Sub

Private Sub OParis_Click()
Choix = "Paris"
End Sub

Private Sub OLyon_Click()
Choix = "Lyon"
End Sub

Private Sub OMarseille_Click()
Choix = "Marseille"
End Sub


Ajoute un module standard avec ce code


Option Explicit
Public Resultat As Boolean

Function Controle(ByVal Expression As Boolean, Optional _
ComplTexte, Optional CellActive, Optional TexteMessage)
' Test si anomalie
If Expression Then
If IsMissing(TexteMessage) Then
TexteMessage = "Vous n'avez pas indiqué " & ComplTexte
End If
MsgBox TexteMessage, 48, "Information manquante."
' MAJ Curseur
If Not IsMissing(CellActive) Then
CellActive.SetFocus
End If
End If
' Résultat du contrôle
If Expression Then Controle = False Else Controle = True
End Function


Fais des tests. Tu verras que si le TextBox est vide, un message
s'affiche et que le curseur vient se placer dans le TextBox.

Un autre message est affiché si aucun des OptionButton n'a été
sélectionné.

Il est impossible de sortir du UserForm (sauf avec le bouton
"Annuler") sans renseigner le TextBox et sélectionner l'un
des OptionButton.

Moyennant adaptation, ce code devrait te servir de nombreuses
fois dans l'avenir.



Bonjour à toutes et tous
J'ai créé un userform dans lequel, j'ai des optionbutton et un textbox,
je


voudrai écrire qu'il faut qu'il y ait au mois 1 Optionbutton et le
textbox


remplit pour pouvoir valider.
D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox
vierge


au lancement du userform
Merci beaucoup
Patrick


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Bonjour Crel

Les contrôles de saisie, c'est un thème auquel je suis très
sensible ;-))

De nombreuses explications sur le code que je te propose
ci-dessous, sur cette page :

http://www.gaboly.com/VBA/CodeSimplifieControle.html

Je pense que cela vaut vraiment la peine que tu regardes.


Crée un UserForm avec :

2 CommandButton, nommés "BOK" et "BAnnuler"
3 OptionButton nommés "OParis", "OLYon" et "OMarseille"
1 TextBox nommé "TCode"

Entre ce code dans le module du UserForm :


Option Explicit
Private Choix As String

Private Sub UserForm_Initialize()
Choix = ""
TCode = ""
End Sub

Private Sub BOK_Click()
ControleSaisie
If Resultat Then
ReportDonnees
Unload Me
End If
End Sub

Private Sub BAnnuler_Click()
Unload Me
End Sub

Private Sub ControleSaisie()
Resultat = Controle(TCode = "", "le code.", TCode)
If Resultat Then Resultat = Controle(Choix = "", "la ville.")
End Sub

Private Sub ReportDonnees()
' Ton Traitement
End Sub

Private Sub OParis_Click()
Choix = "Paris"
End Sub

Private Sub OLyon_Click()
Choix = "Lyon"
End Sub

Private Sub OMarseille_Click()
Choix = "Marseille"
End Sub


Ajoute un module standard avec ce code


Option Explicit
Public Resultat As Boolean

Function Controle(ByVal Expression As Boolean, Optional _
ComplTexte, Optional CellActive, Optional TexteMessage)
' Test si anomalie
If Expression Then
If IsMissing(TexteMessage) Then
TexteMessage = "Vous n'avez pas indiqué " & ComplTexte
End If
MsgBox TexteMessage, 48, "Information manquante."
' MAJ Curseur
If Not IsMissing(CellActive) Then
CellActive.SetFocus
End If
End If
' Résultat du contrôle
If Expression Then Controle = False Else Controle = True
End Function


Fais des tests. Tu verras que si le TextBox est vide, un message
s'affiche et que le curseur vient se placer dans le TextBox.

Un autre message est affiché si aucun des OptionButton n'a été
sélectionné.

Il est impossible de sortir du UserForm (sauf avec le bouton
"Annuler") sans renseigner le TextBox et sélectionner l'un
des OptionButton.

Moyennant adaptation, ce code devrait te servir de nombreuses
fois dans l'avenir.



Bonjour à toutes et tous
J'ai créé un userform dans lequel, j'ai des optionbutton et un textbox, je
voudrai écrire qu'il faut qu'il y ait au mois 1 Optionbutton et le textbox
remplit pour pouvoir valider.
D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox vierge
au lancement du userform
Merci beaucoup
Patrick


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Michel Gaboly
Re,

Michel le Grand, n'exagérons pas, je ne fais même pas 1m90 ;-(((

Plus sérieusement, la fonction Controle, je m'en sers pour tous mes
développements depuis une dizaine d'années, et je pense qu'elle peut
faire gagner de nombreuses heures de développement.

Si quelqu'un autre veut voir comment elle fonctionne, le bon lien pour
démarrer est en fait :

http://www.gaboly.com/VBA/FonctionControle.html

A +



Bonjour Michel Le Grand
C'est toujours avec un grand plaisir que je te lis, c'est vrai que ton site
est très clair sur le sujet, en plus j'ai imprimé toutes les explications de
ton site, mais je manque de méthode, et je suis toujours très pressé donc,
j'ai tendance à poser la question sur le forum,.
Merci beaucoup pour toutes tes explications.
Patrick

"Michel Gaboly" a écrit dans le message de news:

Bonjour Crel

Les contrôles de saisie, c'est un thème auquel je suis très
sensible ;-))

De nombreuses explications sur le code que je te propose
ci-dessous, sur cette page :

http://www.gaboly.com/VBA/CodeSimplifieControle.html

Je pense que cela vaut vraiment la peine que tu regardes.


Crée un UserForm avec :

2 CommandButton, nommés "BOK" et "BAnnuler"
3 OptionButton nommés "OParis", "OLYon" et "OMarseille"
1 TextBox nommé "TCode"

Entre ce code dans le module du UserForm :


Option Explicit
Private Choix As String

Private Sub UserForm_Initialize()
Choix = ""
TCode = ""
End Sub

Private Sub BOK_Click()
ControleSaisie
If Resultat Then
ReportDonnees
Unload Me
End If
End Sub

Private Sub BAnnuler_Click()
Unload Me
End Sub

Private Sub ControleSaisie()
Resultat = Controle(TCode = "", "le code.", TCode)
If Resultat Then Resultat = Controle(Choix = "", "la ville.")
End Sub

Private Sub ReportDonnees()
' Ton Traitement
End Sub

Private Sub OParis_Click()
Choix = "Paris"
End Sub

Private Sub OLyon_Click()
Choix = "Lyon"
End Sub

Private Sub OMarseille_Click()
Choix = "Marseille"
End Sub


Ajoute un module standard avec ce code


Option Explicit
Public Resultat As Boolean

Function Controle(ByVal Expression As Boolean, Optional _
ComplTexte, Optional CellActive, Optional TexteMessage)
' Test si anomalie
If Expression Then
If IsMissing(TexteMessage) Then
TexteMessage = "Vous n'avez pas indiqué " & ComplTexte
End If
MsgBox TexteMessage, 48, "Information manquante."
' MAJ Curseur
If Not IsMissing(CellActive) Then
CellActive.SetFocus
End If
End If
' Résultat du contrôle
If Expression Then Controle = False Else Controle = True
End Function


Fais des tests. Tu verras que si le TextBox est vide, un message
s'affiche et que le curseur vient se placer dans le TextBox.

Un autre message est affiché si aucun des OptionButton n'a été
sélectionné.

Il est impossible de sortir du UserForm (sauf avec le bouton
"Annuler") sans renseigner le TextBox et sélectionner l'un
des OptionButton.

Moyennant adaptation, ce code devrait te servir de nombreuses
fois dans l'avenir.



Bonjour à toutes et tous
J'ai créé un userform dans lequel, j'ai des optionbutton et un textbox,
je


voudrai écrire qu'il faut qu'il y ait au mois 1 Optionbutton et le
textbox


remplit pour pouvoir valider.
D'autre part, je suis bloqué, je n'arrive pas à remettre le textbox
vierge


au lancement du userform
Merci beaucoup
Patrick


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com