XL 2010 Problème avec "ScrollArea"

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Sur la feuille il y a 5 CommandButtons et 5 tableaux. À chaque CommandButton correspond un tableau.
Quand on clique, par exemple, sur le 2ème CommandButton, la couleur du numéro qui lui est attribué (ici 2) passe du vert au rouge et vice versa si on clique de nouveau sur ce même CommandButton. Quand le numéro est vert, le tableau correspondant à ce CommandButton est visible ; quand le numéro est rouge, le tableau est occulté. Tout ça marche très bien.
La plage de cellules qui m'intéresse s'étend de A2 à J67. Pour limiter l'utilisation de la feuille, dans le module "ThisWorkBook", dans "Workbook_Open()", j'ai écrit
VB:
Worksheets(1).ScrollArea = "A2:J67"
Si tous les tableaux sont affichés lors de l'ouverture du classeur, j'ai beau m'escrimer à aller, avec la molette de la souris, jusqu'au bas de la plage autorisée, je n'y parviens pas. Je suis bloqué en chemin. Pour y arriver, je suis obligé de cliquer sur le bas de la barre de défilement vertical. C'est pour le moins pas pratique.
Comment résoudre ce problème ?
 

Pièces jointes

  • ScrollArea.xlsm
    165.2 KB · Affichages: 14
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir Magic_Doctor,

Chez moi sur Excel 2019 le scroll avec la molette permet d'atteindre la ligne 66 mais pas 67.

Pour atteindre la ligne 67 il faut en effet que j'utilise la barre de défilement verticale.

Je ne vois pas ce qu'on peut faire d'autre.

A+
 

Magic_Doctor

XLDnaute Barbatruc
Bonsoir job,

C'est bizarre.
Pour tenter de régler le problème, quand tous les tableaux sont affichés :
VB:
Worksheets(1).ScrollArea = "A2:J68"
Ça marche. En revanche, si j'occulte, par exemple, les 2 premiers tableaux, non seulement la molette semble bloquée, mais quand on essaie d'aller plus bas en cliquant en bas de la barre de défilement verticale, celle-ci semble figée.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Le ScrollaArea fonctionne bien avec la molette de la souris si dans les paramètres de la souris on indique que la roulette ne fait qu'avancer qu'une ligne à la fois.

Dans le cas contraire, c'est parce que la molette de la souris fait descendre au delà de la fin de la zone ScrollArea que cela semble ne pas fonctionner. Excel semble inhiber le dernier tour de la molette qui ferait aller au delà de la zone de ScrollArea. Excel semble ne pas faire le calcul du nombre de minimum de lignes lignes à défiler entre le pas de la souris et le nombre restant de lignes qu'il reste à faire défiler sans dépasser la limite su ScrollArea.

D'ailleurs avec le clavier (flèche vers le bas) le ScrollArea fonctionne. C'est ce que la souris simule aussi quand elle est paramétrée pour ne descendre ou monter qu'une ligne à la fois.

Bonjour @Marcel32 et bonnet de nuit 😊
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Pour atteindre la ligne 67 il faut en effet que j'utilise la barre de défilement verticale.

Je ne vois pas ce qu'on peut faire d'autre.
La molette déplace de 3 en 3 lignes...
Si on modifie pour que la molette aille de ligne en ligne, il n'y a plus le problème. ;)


[edit]
Arf ! Grilled by the Big Apple... ;)
[/edit]

[edit2]
Bonne nuit à toi aussi @mapomme 🖖
[/edit2]
 
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Bonjour mapomme, Marcel32, le forum,

Effectivement, c'est tordu.
Je viens de modifier la configuration de la molette et ça résoud bien le problème.

Supposons maintenant que vous filiez cette application à votre belle-mère qui est tout sauf une grande technicienne. Si avant d'ouvrir le classeur il faut qu'elle commence à modifier le paramétrage de la molette de la souris, ça commence mal !

La question est la suivante : puisque, par défaut, la molette de la souris, pour chaque cran, déplace de 3 en 3 lignes, n'existerait-il pas des APIs qui permettraient :
- à l'ouverture du classeur --> 1 en 1 ligne
- à la fermeture du classeur --> 3 en 3 lignes ?
 

Discussions similaires

Réponses
2
Affichages
239

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33