Scroll sur plusieurs feuilles

Bonjour le forum!

Titre assez explicite je pense.

J'aimerai donc pouvoir scroll sur 3 feuilles de la même façon.

Par exemple je suis sur feuil1 et bien feuil2 et 3 scroll de la même façon (donc du même nombre de lignes).

Pareillement si je suis sur feuil2 et bien feuil1 et 3 scroll de la même façon etc...

Voila c'est tout ce que j'aimerai faire, merci d'avance et à très vite

Bonjour,

Je ne vois pas comment on pourrait intercepter le Scroll avec les événements disponibles des objets WorkBook et WorkSheet.

Par contre, si, avant de changer de feuille, tu sélectionnes une cellule, c'est possible.

Pour faire cela, il convient d'insérer ces codes dans le Module ThisWorkBook :

Dim Ligne As Long, Colonne As Integer

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.Cells(Ligne, Colonne).Select
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Ligne = 0 Then Ligne = 1
If Colonne = 0 Then Colonne = 1
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Ligne = Target.Row: Colonne = Target.Column
End Sub

Je ne comprend pas le mode d'utilisation de ce que tu m'a donné, je l'ai intégré a mon fichier mais comment le faire fonctionner?

Je suis ouvert à toute proposition approchante. Merci de ta réponse!

Tu l'as intégré dans le Module ThisWorkBook comme indiqué?

Si oui, il fonctionne tout seul...

regarde le fichier ci-joint.

Places toi en Feuil1, cellule A800, Sélectionne (clic gauche) dans cette cellule et change de feuille, tu verras que tu arrives sur la même cellule A800...

18exemple.zip (9.16 Ko)

Oui je l'ai bien mis dans ThisWorkbook mais PROBLEME!

Ma macro qui permet de faire revenir mes trois feuille en cellule A (pour faire un haut de page) lance le debogage depuis que j'ai intégré ton code et me surligne:

Sh.Cells(Ligne, Colonne).Select

Voici ma macro:

Sub EffacerFiltre()
    For Each ws In Sheets(Array("Tableau des téléchargements", "Prévisions", "Sommaire"))
    On Error Resume Next
    ws.TextBox1.Value = ""
    ws.ShowAllData
    ws.Activate
    ws.Application.Goto [A1]
    Next ws
    End Sub

Je vois le principe de ton code, enfin je pense, en gros si je clique sur A700 en feuil1 et bien les feuil2 et 3 seront en A700 également?

Est-ce le cas si j'effectue la sélection en feuil2 ou 3?

Merci pour ton aide, la solution que tu me propose pourrait être bonne.

Curieux ce message d'erreur, je ne l'obtiens pas avec le fichier exemple que je t'ai transmis...

Essaye, à tout hasard de déclarer Ligne et Colonne en Public dans ton module :

Dans le Module standard :

Public Ligne As Long, Colonne As Integer

Sub EffacerFiltre()
    For Each ws In Sheets(Array("Tableau des téléchargements", "Prévisions", "Sommaire"))
        On Error Resume Next
        Ligne = 1: Colonne = 1
        ws.TextBox1.Value = ""
        ws.ShowAllData
        ws.Activate
        ws.Application.Goto [A1]
    Next ws
End Sub

Dans le module ThisWorkBook :

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Sh.Cells(Ligne, Colonne).Select
    End Sub

    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Ligne = 0 Then Ligne = 1
    If Colonne = 0 Then Colonne = 1
    End Sub

    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Ligne = Target.Row: Colonne = Target.Column
    End Sub

La sélection de A70 en Feuil2 ne se fait que lorsque tu actives cette feuille, pas avant. Si tu ne l'actives pas, elle ne change pas.

C'est le cas avec toutes les feuilles du classeur...

Toujours message de debogage, quand je scroll, sélectionne une cellule puis change de feuille pour voir si sur mon autre feuille et bien sur cette même cellule BIM debogage.

Donc problème non réglé :s

Tes feuilles ne seraient pas protégées par hasard?

Bon de toutes façons essaye ceci dans le ThisWorkbook :

    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Sh.Application.Goto Cells(Ligne, Colonne)
    End Sub

    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Ligne = 0 Then Ligne = 1
    If Colonne = 0 Then Colonne = 1
    End Sub

    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Ligne = Target.Row: Colonne = Target.Column
    End Sub

Mes feuilles ne sont pas protégés apparemment et toujours debogage même avec le nouveau code donné:

Sh.Application.Goto Cells(Ligne, Colonne)

Surligné en jaune.

Quoi qu'il en soit voici mon fichier épuré avec mes macros, ce sera surement plus facile pour m'aider a régler le pbm.

A savoir que je n'ai pas uniquement ma feuille sommaire dans mon classeur mais plus de 600feuilles et je voudrais que ton système ne s'active que les les 3 première (nommées: "Sommaire", "Tableau des téléchargements" et "Prévisions").

6test.xlsm (273.98 Ko)

Bonjour,

Ci-joint ton fichier test.

23test.xlsm (253.23 Ko)

Merci j'ai apporté les modifications à mon fichier et cela fonctionne très bien. La solution est très proche de ce que je voulais donc je prend, je continuerai en parallèle mes recherches pour un scroll et si je trouve je tiendrais au courant sur ce même sujet!

Encore merci et bonne journée!

je continuerai en parallèle mes recherches pour un scroll et si je trouve je tiendrais au courant sur ce même sujet!

Volontiers, ça m'intéresse.

Bonne journée

A+

Quoi que j'aurai peut être une autre question, si c'est pas faisable tant pis.

Quand je clic sur une cellule d'une des 3 feuilles ça suit sur les 2 autres mais sa suit également si je fait un alinéa sur une des trois ou que je navigue avec les flèches... Est-il possible que cela suive UNIQUEMENT lors d'un clic gauche (ça me permettrait entre autre de modifier mes données plus aisément!).

Désolé de poser une question après avoir eu une réponse, je suis tout le temps comme ça je trouve toujours quelque chose à rajouter après coup Merci en tout cas!!!

A priori non.

Il faudrait pour cela que les feuilles (ou le classeur) disposent d'un événement Mouse_Down() (ou Mouse_Up() mais comme ils vont de pair, si t'as pas l'un, t'as pas l'autre). Cet événement permet d'intercepter l'appui sur un bouton de la souris et de déterminer quel bouton a été appuyé.

Il y a bien l'événement BeforeDoubleClick, mais ce n'est pas ce que tu veux.

Donc désolé, mais pour cette fois c'est non...

Rechercher des sujets similaires à "scroll feuilles"