• Initiateur de la discussion Initiateur de la discussion JP
  • Date de début Date de début

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 !

J

JP

Guest
Bonsoir le forum,

Apres avoir terminé un petit outil, je voudrais savoir si il existe une macro
obligeant la molette de la souris a descendre ligne par ligne.
Je m'explique : A mon travail Excel a été configuré de sorte qu'en tournant la molette de la souris la feuille défile de 4 lignes !!!
N'ayant pas un accès d'administrateur pour intervenir sur Excel, je me demandais donc si une macro pouvait contourner ça.....

Je précise que les options de la souris sont inaccessibles (Choix de l'administrateur qui je dois dire n'a pas une grande ouverture d'esprit !!)

Merci de votre aide.
 
Re: ROULETTE SOURIS DEFILEMENT LIGNE A LIGNE (ScrollRow)

Bonsoir JP, le Forum

Vu qu'on a "gagné" une heure aujourd'hui, je viens faire un tour pour vous dire bonjour !

Bon je ne vois pas vraiment comment modifier le scroll de la souris par une simple macro, mais je peux te proposer un paliatif "Système D"...


NB code à placer dans le Private Module de la Feuille en question (Pas dans un simple module standard)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim SRow As Long
Cancel = True
SRow = ActiveWindow.ScrollRow
ActiveWindow.ScrollRow = SRow + 1
End Sub

Ce code, déclenché à chaque click droit sur la souris fera défiler d'une ligne la feuille dans laquelle il aura été placé...

En option, on peut préférer établir une zone précise pour ce "Right-Click" afin de garder le menu contextuel de ce ckick droit pour le reste de la feuille.

Ici un exemple un peu plus abouti qui lancera le défilement d'une ligne uniquement en cas de click droit quand le curseur sera positionné dans la colonne "A"


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim SRow As Long

   If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
     Cancel = True

        With ActiveWindow
          SRow = .ScrollRow
          .ScrollRow = SRow + 1
        End With

   End If

End Sub

Ceci ne nécessitera aucune intervention de ton NetWorkAdmin(OpenMinded = False)

Bonne soirée
@+Thierry
 
=> DEMO de SCROLLROW en évènementielle

Re Bonsoir JP, le Forum

Bon vu que je ne t'ai pas vu sur le Tchat, je t'explique avec une Démo.

L'important étant de placer le code dans le Private Module de la Feuille en question (Pas dans un simple module standard)

Bonne Nuit
@+Thierry
 

Pièces jointes

Re: => DEMO de SCROLLROW en évènementielle

Bonjour Thierry, le Forum



" S'il n'y a pas de solution c'est qu'il n'y a pas de problème! "
Je te remercie du fond du coeur Thierry...


"la bêtise est devenue maître du monde, heureusement que l'intelligence n'a pas encore disparue totalement "

Je profite à cette occasion pour remercier toutes les personnes de ce forum
pour leur générosité et leur disponibilité.

Bonne Journée

JP
 
Bonjour le forum,

Chaque fois que je vois un message de thierry avec demo j'enregistre la pièce jointe. C'est toujours du très bon travail que j'essaye d'étudier dès que j'ai un peu de temps pour progresser. Sa demo USF_Recherche_ADO_Closer_Time me sert pratiquement tous les week end.

Encore merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour