Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : figer l'image

Bonsoir brunoaimej,

Un essai qui répond, peut-être, en partie à votre demande. Pour visualiser, faire défiler la fenêtre (à la souris ou bien avec les flèches de direction) puis si vous avez untilisé la souris, cliquer n'importe où dans une cellule de la fenêtre pour déclencher l'évènement "SelectionChange" de la feuille "Visites". La carte devrait suivre...

Le code est dans le module de la feuille "Visites":
VB:
Option Explicit
Dim oldWinrg As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim newWinrg As Range

Application.EnableEvents = False
Set newWinrg = ActiveWindow.VisibleRange(1, 1)

If oldWinrg Is Nothing Then
  ActiveSheet.Shapes.Range(Array("Groupe 1")).Top = newWinrg.Top
  Set oldWinrg = newWinrg
ElseIf newWinrg.Address <> oldWinrg.Address Then
  ActiveSheet.Shapes.Range(Array("Groupe 1")).Top = newWinrg.Top
  Set oldWinrg = newWinrg
End If
Application.EnableEvents = True
End Sub
 

Pièces jointes

Dernière édition:
Re : figer l'image

Bonjour brunoaimej,
est il possible que cela se fasse automatiquement?
Je ne connais pas d'évènement VBA lié au défilement de fenêtre. Il existe un moyen assez complexe (site de c.pearson) d'intercepter les évènements Scroll mais qui peut présenter des inconvénients.

En restant au niveau du VBA classique, un essai avec une procédure lancée toutes les 0,75 secondes (environ) pour scruter l'état de la fenêtre active. Cette méthode utilise plus de ressources, peut avoir des interactions avec l'éditeur de code -> arrêt de la scrutation), poser des PB à la fermeture du fichier et personnellement je ne l'utiliserais pas. Le défilement est quelque peu 'à retardement'.

Le code a été légèrement modifié et il est maintenant réparti dans un module de code Module1, dans le module de code de ThisWorkBook et dans le module de code de la feuille "Visites".

Pour activer/inhiber le défilement, cliquez sur le bouton en cellule B1 de la feuille "Visites".
Avant de refermer le classeur, désactiver le défilement.

nb: toujours eu du mal à maitriser Application.ontime (yc son arrêt)
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
174
Réponses
7
Affichages
116
Réponses
4
Affichages
462
Retour