Faire defiler les pages d'un classeur Excel en VBA

Messages postés
19
Date d'inscription
lundi 8 juillet 2019
Statut
Membre
Dernière intervention
30 août 2019
- - Dernière réponse : pilas31
Messages postés
1857
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
12 juillet 2019
- 12 juil. 2019 à 14:21
Bonjour,

Je développe une petite application Excel et j'aurais aimé savoir si il serait possible de faire en sorte que les pages défiles automatiquement lorsqu'on lance une macro et que ce défilement s'arrête une fois que l'on appuie sur le clic gauche par exemple (pour ma part j'ai 9 pages et j'aimerais qu'une fois arrivé à la dernière page le défilement reprenne depuis le début)

PS: J'ai déjà une macro qui tourne au lancement du fichier Excel qui permet de le rafraîchir toute les secondes pour afficher l'heure sur une des pages (point qui me semble important de vous communiquer)


Merci d'avance
Cdlmnt
Afficher la suite 

1 réponse

Messages postés
1857
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
12 juillet 2019
527
0
Merci
Bonjour,

Voici une façon de faire
Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer
Sub DEFILE()
Dim Feuil_Cour As Worksheet
Dim iter As Integer
For iter = 1 To 5
    For Each Feuil_Cour In ThisWorkbook.Worksheets
        Feuil_Cour.Select
        Application.Wait Now + TimeValue("0:00:01")
        If GetAsyncKeyState(2) <> 0 Then
            Exit Sub
        End If
    Next Feuil_Cour
Next iter
End Sub


Un clic sur le bouton droit arrête le défilement.
Cela recommence 5 fois histoire que la boucle ne soit pas éternelle.
J'ai mis une attente de 1 seconde

Cordialement,



Commenter la réponse de pilas31