Sebartom
Messages postés5Date d'inscriptionmardi 23 février 2010StatutMembreDernière intervention 2 avril 2010
-
2 avril 2010 à 10:10
Sebartom
Messages postés5Date d'inscriptionmardi 23 février 2010StatutMembreDernière intervention 2 avril 2010
-
2 avril 2010 à 14:03
Bonjour à toutes et tous !
J'ai un problème (♪♫ j'ai bien peur que je t'aime... ♪♫)
.
Je dispose d'une ListBox avec plusieurs choix possibles (jusque là, c'est logique ). Une macro est affectée à cette ListBox, dont voici une partie :
If ChoixUtilisateur = 4 Then
ActiveWorkbook.Worksheets("Feuille1").Case.Value = True
ActiveWorkbook.Worksheets("Feuille1").Shapes("Groupe").Visible = True
Else
ActiveWorkbook.Worksheets("Feuille1").Case.Value = False
ActiveWorkbook.Worksheets("Feuille1").Shapes("Groupe").Visible = False
End If
Pour résumer : si le choix dans la liste est 4, alors un groupe s'affiche dans ma page Excel. Ce groupe contient un label (un petit texte explicatif), une case à cocher (cochée par défaut) et un bouton d'aide. J'ai donc tout loisir de cocher ou décocher le bouton lorsque le groupe est affiché.
Et lorsque j'effectue un autre choix dans la ListBox, le groupe disparait (et la case est alors décochée).
Et maintenant, mon problème :
Si je fais le choix N°4, je peux alors cocher/décocher la case. Mais si ensuite je change de choix dans la ListBox, j'ai bien mon groupe qui disparait, mais j'ai la case qui est toujours visible (elle est visible et décochée).
Mais c'est juste un problème d'affiche, car :
- je ne peux plus cocher ou décocher
- si je descends dans ma page Excel (jusqu'à ne plus voir l'endroit où était le groupe) puis je remonte, le bug a disparu.
A noter que si je fais le choix n°4 et que je ne touche pas à la case, puis si ensuite je change de choix, le bug ne se produit pas.
Alors, avez-vous une idée pour m'aider ? Ca me permettrait de passer un bon week-end de Pâques.
Sebartom
Messages postés5Date d'inscriptionmardi 23 février 2010StatutMembreDernière intervention 2 avril 2010 2 avril 2010 à 14:03
J'ai trouvé une solution.
En fait mon groupe est maintenant toujours visible, par contre par-dessus j'ai ajouté un label vide (et donc blanc) qui est masqué lorsque le choix 4 est activé (et qui masque le groupe lorsqu'un autre choix a été fait).
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 2 avril 2010 à 11:32
Salut
Oui, ça arrive quand on joue avec les "Visible"
Essaye de mettre ceci après toute manoeuvre d'invisibilité
ActiveWorkbook.RefreshAll
mais ça m'étonnerait que cela change grand chose ...
Si ta solution de descendre d'une page et de remonter résoud ton problème d'affichage, tu pourrais créer une macro qui ferait cette manip après chaque commande sur Visible.
Je pense que l'utilisateur ne s'en apercevrait même pas (si machine pas trop chargée)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Sebartom
Messages postés5Date d'inscriptionmardi 23 février 2010StatutMembreDernière intervention 2 avril 2010 2 avril 2010 à 13:44
Salut !
J'ai testé le "RefreshAll", mais cela ne fonctionne pas malheureusement.
J'ai ensuite ajouté un bout de code qui sélectionne une case en bas de ma feuille puis en haut (pour revenir à l'affichage de départ), mais le bug est toujours affiché.
Est-il possible de contrôler la barre de défilement à partir de VBA ? (c'est possible lorsqu'il s'agit d'un UserForm je crois, mais pour la barre de défilement de la feuille Excel je ne connais pas)