Activer une Macro après chaque Page Down ou Scroll Down

Fermé
JRuest Messages postés 9 Date d'inscription samedi 17 mai 2014 Statut Membre Dernière intervention 19 décembre 2014 - 17 mai 2014 à 13:03
 Jruest - 19 mai 2014 à 00:42
Bonjour à tous,

Là je suis complètement désespéré. Ça fait des jours que je cherche une solution sur Internet; nada rien. Alors voici ce qu'il en est.

J'ai créé une feuille comportant plusieurs images (des pochettes de films, j'en ai 2500). Mais voici je ne veux pas tous les afficher d'un seul coup, ce serait beaucoup trop long. Aussi je veux ajouter une nouvelle série d'images (via une macro) à chaque Page Down ou Scroll Down; en fait chaque fois que la prochaine ligne vide s'affiche en haut de l'écran.

J'ai développé ce code qui fonctionne très bien:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim LigneTop As Long

If Sheets("Paramètres").Cells(1, 7) <> 99999 Then

LigneTop = ActiveWindow.VisibleRange.Row
If LigneTop > Sheets("Paramètres").Cells(2, 7) - 2 Then
CopierImageGenreDisque
End If

End If

End Sub

Cependant la routine Worksheet_Change n'est pas activé par un Page Down ou un Scroll Down. J'ai essayé plein d'autres routines Worksheet et Workbook; rien.

Quelqu'un pour m'aider?
A voir également:

3 réponses

eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
18 mai 2014 à 00:04
Bonjour,

Il n'y a aucun évènement de généré sur un scrolling.
Tu n'as pas le choix. Cliquer une cellule et utiliser SelectionChange ou bien mettre un bouton.

eric
0
Merci Éric pour ta réponse qui confirme mes craintes, cependant la solution du bouton (ajouté dans mon menu du haut) me cause un autre problème.

Afin de pouvoir donner la possibilité de presser ce bouton à tout instant j'ai figé les volets en bas du menu de sélection. C'est ok pour le bouton, mais un problème pour les éléments des listbox et combobox de mon menu.

1) Lorsque je me positionne par exemple à la ligne 6 de ma page, les éléments des listbox et combobox s'en retrouve masqués. Y-a-t-il une solution à ce problème?

2) S'il n'y a pas de solution à ce problème, je peux toujours me repositionner au haut de la page, mais la aussi il y a problème. Je peut mettre en arrière-plan toutes mes images de sorte que listbox et combobox soient visibles en avant-plan, mais là la sélection des éléments n'est pas possible.

Tout ça parce que j'ai figé les volets.

J'aurais grand besoin de tes lumières.

Merci
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
18 mai 2014 à 16:40
Difficile de se rendre compte sans fichier.
Au vu de ta description je ferai comme ça : récupération de la 1ère cellule visible sur un évènement selectionChange, déplacement (ou suppression/création) des objets et éventuellement leur mise à jour.
Et je ne créerais pas 2500 objets image, mais juste le nombre suffisant pouvant être visibles. En les supprimant et recréant à chaque fois.
Ex de déplacement, shp étant une forme :
    Set c = Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn).Offset(1, 4)
    Shp.Left = c.Left
    Shp.Top = c.Top

eric
0
Merci pour ta réponse rapide.

Ton code marche au poil. Un gros merci pour ton aide.
0