OVH Cloud OVH Cloud

Boutons d'option

6 réponses
Avatar
Denys
Bonjour =E0 tous,

J'ai cr=E9=E9 un userform qui sert pour plusieurs feuilles.=20
Cependant, j'aimerais que certains boutons d'option soient=20
inactifs d=E9pendamment de la feuille active...

Par exemple, si l'usager appelle le userform en cliquant=20
sur le bouton de commande1 de la feuille "00181", je=20
voudrais que lorsque le userform apparaisse, les boutons=20
d'option 3,4,5,6 soient inactifs....

Si, par contre, c'est l'usager de la feuille "00951" qui=20
appelle le userform avec l'aide du bouton de commande1 de=20
cette m=EAme feuille, alors je voudrais que les boutons=20
d'option 2,4,5,6 soient inactifs...

Voyez-vous =E0 quoi je veux en venir???

Merci de votre aide...

Denys

6 réponses

Avatar
Denys
Eurêka !!!!!

La solution, si ça vous intéresse est:

Private Sub UserForm_Initialize()
If ActiveSheet.Name = "00181" Then
Userform1.OptionButton3.Enabled = False
Userform1.OptionButton4.Enabled = False ...etc
end sub

Cependant, si vous avez quelque chose de plus
simple....j'achète..

Denys




-----Original Message-----
Bonjour à tous,

J'ai créé un userform qui sert pour plusieurs feuilles.
Cependant, j'aimerais que certains boutons d'option
soient

inactifs dépendamment de la feuille active...

Par exemple, si l'usager appelle le userform en cliquant
sur le bouton de commande1 de la feuille "00181", je
voudrais que lorsque le userform apparaisse, les boutons
d'option 3,4,5,6 soient inactifs....

Si, par contre, c'est l'usager de la feuille "00951" qui
appelle le userform avec l'aide du bouton de commande1 de
cette même feuille, alors je voudrais que les boutons
d'option 2,4,5,6 soient inactifs...

Voyez-vous à quoi je veux en venir???

Merci de votre aide...

Denys
.



Avatar
Michel Gaboly
Bonsoir,

Pour faire plus simple, évite de mettre dans le code
d'un UserForm le nom de celui-ci : si le UserForm
est renommé, par exemple parce que tu as besoin de
plusieurs variantes, le code continuera à fonction-
ner ;-((

Pour te référer au UserForm, utilise "Me"

Me.Hide
Unload Me

Pour les contrôles du UserForm, le "Me" n'est même
pas nécessaire.

Remplace les If successifs par un Select Case :

Private Sub UserForm_Initialize()
Select Case ActiveSheet.Name
Case "00181"
OptionButton3.Enabled = False
OptionButton4.Enabled = False
...
Case "00951"
OptionButton2.Enabled = False
OptionButton4.Enabled = False
...
End Sub

D'après moi, c'est + facile à lire.

Si toutes les feuilles ont pour Name un numéro,
tu peux utiliser :

Select Case CLng(ActiveSheet.Name)
Case 181
...
Case 951
...




Eurêka !!!!!

La solution, si ça vous intéresse est:

Private Sub UserForm_Initialize()
If ActiveSheet.Name = "00181" Then
Userform1.OptionButton3.Enabled = False
Userform1.OptionButton4.Enabled = False ...etc
end sub

Cependant, si vous avez quelque chose de plus
simple....j'achète..

Denys

-----Original Message-----
Bonjour à tous,

J'ai créé un userform qui sert pour plusieurs feuilles.
Cependant, j'aimerais que certains boutons d'option
soient

inactifs dépendamment de la feuille active...

Par exemple, si l'usager appelle le userform en cliquant
sur le bouton de commande1 de la feuille "00181", je
voudrais que lorsque le userform apparaisse, les boutons
d'option 3,4,5,6 soient inactifs....

Si, par contre, c'est l'usager de la feuille "00951" qui
appelle le userform avec l'aide du bouton de commande1 de
cette même feuille, alors je voudrais que les boutons
d'option 2,4,5,6 soient inactifs...

Voyez-vous à quoi je veux en venir???

Merci de votre aide...

Denys
.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Clément Marcotte
Bonjour,

Pour te référer au UserForm, utilise "Me"


Avec la petite nuance que Me désigne l'objet actif et qu'il faut
désigne l'UserForm par son nom, s'il est appelé à partir d'un autre
objet.

Avatar
Denys
Bonsoir Michel et Clément,

Merci bien Michel, je vais très certainement utiliser ton
exemple. En effet, cela se lit beaucoup mieux...

Merci pour ton temps et tes explications

Denys


-----Original Message-----
Bonsoir,

Pour faire plus simple, évite de mettre dans le code
d'un UserForm le nom de celui-ci : si le UserForm
est renommé, par exemple parce que tu as besoin de
plusieurs variantes, le code continuera à fonction-
ner ;-((

Pour te référer au UserForm, utilise "Me"

Me.Hide
Unload Me

Pour les contrôles du UserForm, le "Me" n'est même
pas nécessaire.

Remplace les If successifs par un Select Case :

Private Sub UserForm_Initialize()
Select Case ActiveSheet.Name
Case "00181"
OptionButton3.Enabled = False
OptionButton4.Enabled = False
...
Case "00951"
OptionButton2.Enabled = False
OptionButton4.Enabled = False
...
End Sub

D'après moi, c'est + facile à lire.

Si toutes les feuilles ont pour Name un numéro,
tu peux utiliser :

Select Case CLng(ActiveSheet.Name)
Case 181
...
Case 951
...




Eurêka !!!!!

La solution, si ça vous intéresse est:

Private Sub UserForm_Initialize()
If ActiveSheet.Name = "00181" Then
Userform1.OptionButton3.Enabled = False
Userform1.OptionButton4.Enabled = False ...etc
end sub

Cependant, si vous avez quelque chose de plus
simple....j'achète..

Denys

-----Original Message-----
Bonjour à tous,

J'ai créé un userform qui sert pour plusieurs feuilles.
Cependant, j'aimerais que certains boutons d'option
soient

inactifs dépendamment de la feuille active...

Par exemple, si l'usager appelle le userform en
cliquant



sur le bouton de commande1 de la feuille "00181", je
voudrais que lorsque le userform apparaisse, les
boutons



d'option 3,4,5,6 soient inactifs....

Si, par contre, c'est l'usager de la feuille "00951"
qui



appelle le userform avec l'aide du bouton de commande1
de



cette même feuille, alors je voudrais que les boutons
d'option 2,4,5,6 soient inactifs...

Voyez-vous à quoi je veux en venir???

Merci de votre aide...

Denys
.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.





Avatar
Michel Gaboly
Bonsoir,

Bien sûr Clément, ;-))

Mais en l'occurrence on était dans le

Private Sub UserForm_Initialize()

donc dans le module associé au Userform



Bonjour,

Pour te référer au UserForm, utilise "Me"


Avec la petite nuance que Me désigne l'objet actif et qu'il faut
désigne l'UserForm par son nom, s'il est appelé à partir d'un autre
objet.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Michel Gaboly
Bonsoir Denys

De rien, c'est avec plaisir ;-))


Bonsoir Michel et Clément,

Merci bien Michel, je vais très certainement utiliser ton
exemple. En effet, cela se lit beaucoup mieux...

Merci pour ton temps et tes explications

Denys

-----Original Message-----
Bonsoir,

Pour faire plus simple, évite de mettre dans le code
d'un UserForm le nom de celui-ci : si le UserForm
est renommé, par exemple parce que tu as besoin de
plusieurs variantes, le code continuera à fonction-
ner ;-((

Pour te référer au UserForm, utilise "Me"

Me.Hide
Unload Me

Pour les contrôles du UserForm, le "Me" n'est même
pas nécessaire.

Remplace les If successifs par un Select Case :

Private Sub UserForm_Initialize()
Select Case ActiveSheet.Name
Case "00181"
OptionButton3.Enabled = False
OptionButton4.Enabled = False
...
Case "00951"
OptionButton2.Enabled = False
OptionButton4.Enabled = False
...
End Sub

D'après moi, c'est + facile à lire.

Si toutes les feuilles ont pour Name un numéro,
tu peux utiliser :

Select Case CLng(ActiveSheet.Name)
Case 181
...
Case 951
...




Eurêka !!!!!

La solution, si ça vous intéresse est:

Private Sub UserForm_Initialize()
If ActiveSheet.Name = "00181" Then
Userform1.OptionButton3.Enabled = False
Userform1.OptionButton4.Enabled = False ...etc
end sub

Cependant, si vous avez quelque chose de plus
simple....j'achète..

Denys

-----Original Message-----
Bonjour à tous,

J'ai créé un userform qui sert pour plusieurs feuilles.
Cependant, j'aimerais que certains boutons d'option
soient

inactifs dépendamment de la feuille active...

Par exemple, si l'usager appelle le userform en
cliquant



sur le bouton de commande1 de la feuille "00181", je
voudrais que lorsque le userform apparaisse, les
boutons



d'option 3,4,5,6 soient inactifs....

Si, par contre, c'est l'usager de la feuille "00951"
qui



appelle le userform avec l'aide du bouton de commande1
de



cette même feuille, alors je voudrais que les boutons
d'option 2,4,5,6 soient inactifs...

Voyez-vous à quoi je veux en venir???

Merci de votre aide...

Denys
.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com