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

Shape visible/invisible

1 réponse
Avatar
Jean-Marc
Salut tout le monde,

J'ai un problème d'affichage/masquage de boutons radio.

Le but :
Il existe 2 possibilités : 1 volet ou 2 volets (Choisi par bouton radio).
Dans le cas de 1 volet, il y a une possibilité de barrure ou pas (une case à
cocher), mais si le choix est sur 2 volet, il faut avoir le choix de barrure
ou pas (la même case à cocher) mais dans ce cas il faut un choix entre 1
barrure et 2 barrures.
Je voudrais que, par une macro liée à la case à cocher, on affiche les
boutons radio du nombre de barrures si le choix de volets est sur 2 et qu'on
masque les boutons radio du nombre de barrures si le choix de volet est sur
1.

Le problème :
J'arrive à masque les boutons, mais une fois qu'ils sont masqués je ne peux
plus les faire réapparaître en cliquant sur l'autre bouton. Je reçois un
message me disant que le select de l'objet est incorrect.

J'utilise pour tester:
sur le bouton 1 volet :
ActiveSheet.Shapes("Bouton1Barrure").Select
With Selection
.Value = xlOff
.Visible=False
End With
ActiveSheet.Shapes("Bouton2Barrures").Select
With Selection
.Value = xlOff
.Visible=False
End With

sur le bouton 2 volets :
ActiveSheet.Shapes("Bouton1Barrure").Select
With Selection
.Value = xlOff
.Visible=True
End With
ActiveSheet.Shapes("Bouton2Barrures").Select
With Selection
.Value = xlOff
.Visible=True
End With

Il semblerait qu'il refuse le .Visible=True ou bien il ne trouve pas
l'objet, auquel cas le .Visible=False équivaudrait à un .delete, ce qui me
poserait un pbl.

Merci de vos z'avis z'avisé,

Jean-Marc

1 réponse

Avatar
Alain CROS
Bonjour

Tu ne peux pas sélectionner un objet qui n'est pas visible.
Essaye comme ça.

sur le bouton 1 volet :
With ActiveSheet.Shapes("Bouton1Barrure")
.ControlFormat.Value = xlOff
.Visible = False
End With
With ActiveSheet.Shapes("Bouton2Barrures")
.ControlFormat.Value = xlOff
.Visible = False
End With

sur le bouton 2 volets :
With ActiveSheet.Shapes("Bouton1Barrure")
.ControlFormat.Value = xlOff
.Visible = True
End With
With ActiveSheet.Shapes("Bouton2Barrures")
.ControlFormat.Value = xlOff
.Visible = True
End With

Alain CROS

"Jean-Marc" a écrit dans le message de news: #
Salut tout le monde,

J'ai un problème d'affichage/masquage de boutons radio.

Le but :
Il existe 2 possibilités : 1 volet ou 2 volets (Choisi par bouton radio).
Dans le cas de 1 volet, il y a une possibilité de barrure ou pas (une case à
cocher), mais si le choix est sur 2 volet, il faut avoir le choix de barrure
ou pas (la même case à cocher) mais dans ce cas il faut un choix entre 1
barrure et 2 barrures.
Je voudrais que, par une macro liée à la case à cocher, on affiche les
boutons radio du nombre de barrures si le choix de volets est sur 2 et qu'on
masque les boutons radio du nombre de barrures si le choix de volet est sur
1.

Le problème :
J'arrive à masque les boutons, mais une fois qu'ils sont masqués je ne peux
plus les faire réapparaître en cliquant sur l'autre bouton. Je reçois un
message me disant que le select de l'objet est incorrect.

J'utilise pour tester:
sur le bouton 1 volet :
ActiveSheet.Shapes("Bouton1Barrure").Select
With Selection
.Value = xlOff
.Visibleúlse
End With
ActiveSheet.Shapes("Bouton2Barrures").Select
With Selection
.Value = xlOff
.Visibleúlse
End With

sur le bouton 2 volets :
ActiveSheet.Shapes("Bouton1Barrure").Select
With Selection
.Value = xlOff
.Visible=True
End With
ActiveSheet.Shapes("Bouton2Barrures").Select
With Selection
.Value = xlOff
.Visible=True
End With

Il semblerait qu'il refuse le .Visible=True ou bien il ne trouve pas
l'objet, auquel cas le .Visibleúlse équivaudrait à un .delete, ce qui me
poserait un pbl.

Merci de vos z'avis z'avisé,

Jean-Marc