Problème d'affichage

Résolu
Sebartom Messages postés 5 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 2 avril 2010 - 2 avril 2010 à 10:10
Sebartom Messages postés 5 Date d'inscription mardi 23 février 2010 Statut Membre Derniè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.

Merci !

3 réponses

Sebartom Messages postés 5 Date d'inscription mardi 23 février 2010 Statut Membre Derniè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).

A première vue, le bug ne se fait plus.

Bon, c'est du bricolage, mais ça me convient.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
Sebartom Messages postés 5 Date d'inscription mardi 23 février 2010 Statut Membre Derniè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)

Merci !
0
Rejoignez-nous