Créer un bouton retour qui suit quand on descend sur la page

0
848

Il m’arrive parfais que j’ai une grande base de données que je consulte et quand j’ai finihé ben j’ai besoin de retourner en haut de la page. Et donc dans cette vidéo nous allons voir comment créer un bouton retour qui nous suit quand on descent dans notre page.

https://www.youtube.com/watch?v=lMABKS6m17g

 Création de la forme.

Pour commencer nous allons créer une forme, dans notre exemple ici nous allons créer une flèche qui point en haut.
Pas besoin de placer la forme vous pouvez la laisser ou elle est.

Positionner la forme

Désormais nous allons faire en sorte de positionner la forme en bas à gauche de notre page.

Voila notre forme se trouve bien en bas dans le coin gauche. Mais je voudrais le décaler un peut. Cella nous allons le faire avec le code suivant

Désormais il est beaucoup mieux, mais le problème avec le code que nous avons utilisé c’est que l’emplacement de notre forme est fixe donc elle serra toujours à la gauche de la colonne A et en haut de la ligne 30.

Notre objectif est de faire en sorte que quand on descend dans notre page que cette flèche nous suit.

Capturer le nombre de ligne visible à l’écran.

Alors pour résoudre ce problème nous allons devoir demander au code de nous afficher combien de ligne il voit à l’écran. Oui oui c’est possible vous allez voir.

Je vais donc créer un sub test ou je vais demander à Excel de m’afficher dans un message box la dernière ligne et la dernière colonne visible à l’écran avec lacommande suivante.

Et il m’indique que sur mon écran les cellules de A1 à H31 sont visibles

Pour mieux illustrer cette méthode nous allons demander à Excel de sélectionner les cellules visibles. Avec le code suivant

La Excel va sélectionner les cellules visibles sur l’écran je vais lancer le code puis dézoomer pour vous montrer qu’il a bien sélectionner uniquement ce qui est visible.

C’est bien beau tout ça mais moi j’aimerais bien s’avoir sur quelle ligne il faut placer notre objet. Pour cela nous allons utiliser une autre fonction de visiblerange qui permet de compter le nombre de ligne visible à l’écran avec le code suivant

Qui me donnera

Si il agrandi une cellule le résultat changera aussi

Indiquer sur quelle ligne placer notre forme

Retournons sur notre code et nous allons créer une variable qui vas contenir le nombre de ligne visible à l’écran.

Pour toujours faire afficher notre object à la ligne la plus basse nous allons aussi utiliserle visible range en donnant l’emplacement des cellules visible.

C’est-à-dire

Que je vais remplacer le .top par

Voyons ce qui se passe.

Notre forme à un peut bouger si la dernière ligne de l’écran n’est pas complétement visible sinon vous n’avez pas trop de changement.

Par contre si vous scrollez plus bas dans la page et que vous lancer le code à nouveau. Le bouton devrait se placer à la fin de la page

Garder la forme toujours à gauche.

Désormais nous avons vu comment garder notre forme toujours en bas il est temps de voir comment la garder toujours à gauche quand on part à droite.

Ici c’est plutôt simple nous allons modifier le code comme suite.

Et voila aussi simple que ça ici nous n’allons pas définir le nombre de colonne car elle devrait s’affiche toujours à la première colonne qui est visible sur l’écran.

Automatiser le processus

Il est grand temps d’automatiser cela afin que notre bouton nous suive partout sur la page. Pour cela nous allons créer une nouvelle procédure que nous allons nommer suismoi

Et nous allons créer une variable qui va contenir un temps et je veux que à chaque seconde on faire appel à la procédure placementfleche

Cela nous allons le faire avec le code suivant

Alors en gros avec ce code nous allons créer une boucle qui va lancer notre procédure placementfeche toute les 1 seconde donc une sorte de refresh automatique.

Par contre si on créer une autre page hé ben notre boucle continue et nous affichera une erreur car il ne retrouve pas la forme flèche. C’est pourquoi nous allons créer que s’il y a une erreur il faudra arrêter

Alors une solution consiste à placer un traitement d’erreur qui ne fait rien.

Si vous voulez utiliser cette méthode dans chaque page vous pouvez créer un bouton pour chaque page et le nommer home alors celui-ci fonctionnera aussi.

Si on souhaite arrêter pour une page précise nous pouvons créer une procédure de stop et faire appel à lui quand on va sur une page spécifique il ne faut simplement pas oublier alors de retirer la variable leTemps de suisMoi et de le créer en tant que variable publique

Quand on va sur la page ou on ne veut pas activer cette procédure o place el code suivant

Voilà il s’est arrêté. Pour l’active sur une page spécifique on fait

Placer allez en haut de la page

On va terminer en indiquant à notre forme de nous placer en haut de la page avec le code suivant que nous allons placer dans l’objet

Voilà notre petit bouton de retour arrive à bouger avec nous quand on descend ou quand on monte et nous pouvons aussi activer et désactiver cette procédure quand on change de page.

Alors quand même une dernière note. Evite d’appliquer cette fonctionnalité sur une page ou vous devez encore faire beaucoup de modification car chaque seconde la procédure se lancera.

Je vous souhaite un bon amusement avec ceci et on se retrouve dans une prochaine vidéo.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.