Faire monter ou descendre la feuille de calcul grâce à deux boutons

Bonjour à tous,

Quelqu'un saurait-il comment faire monter ou descendre la feuille de calcul en arrière plan grâce à deux boutons situés sur le UserForm en premier plan ?

Merci par avance,

Bonjour,

si tu affiches ton userform en non modal tu peux agir directement sur la feuille :

UserForm1.Show vbModeless

eric

Merci pour cette réponse Eriiic.

Mais en fait je n e veux surtout pas que l'on puisse intervenir sur la feuille directement.

Il faut que j'agisse par programmation pour faire monter ou descendre la feuille.

Au plaisir pour de nouvelles idées.

Bonne courage à tous.

Bonjour Excell-75011, Eriiic,

On utilise l'outil Scrollbar inséré dans l'userform que l'on couple avec une macro dans un module du fichier. Ci dessous pour un formulaire nommé Userform1 et l'outil ScrollBar1.

Sub MacroBar
Active Windows.ScrollRow = Userform1.ScrollBar1.Value
End

Merci X Cellus,

Mais il faut que je puisse faire monter et descendre à volonté la feuille de calcul sans aucune intervention de l'utilisateur du UserForm.

Les mouvements étant gérés uniquement par du code en VBA.

Affaire à suivre...

Bonjour,

c'était ce qu'on était sensés comprendre avec "grâce à deux boutons" ???
Mets-toi en enregistrement de macro et tu auras les méthodes adéquates sur un plateau.
eric

PS : pense à faire les 2 types de déplacement, par les flèches d'extrémité et par l'ascenseur.
Tu as aussi la méthode Application.Goto (attention, les colonnes scrollent aussi) :

expression. Goto (Référence, Défilement)

expressionUne variable qui représente un objetApplication.

Paramètres

NomRequis/FacultatifType de donnéesDescription
RéférenceFacultatifVariantDestination. Il peut s’agir d’un objet Range , d’une chaîne qui contient une référence de cellule en notation de style R1C1 ou d’une chaîne qui contient un nom de procédure Visual Basic. Si cet argument est omis, la destination correspond à la dernière plage pour laquelle vous avez utilisé la méthode Goto à sélectionner.
ScrollFacultatifVariantTrue pour faire défiler la fenêtre pour que le coin supérieur gauche de la plage apparaisse dans le coin supérieur gauche de la fenêtre. False pour ne pas faire défiler la fenêtre. La valeur par défaut est False.

Peut-être une piste avec ceci (avec 2 boutons de plus en prime) :

7scroll.xlsm (30.95 Ko)

Merci pour vos idées.

Désolé pour l'histoire des boutons qui effectivement me paraissaient une première étape intéressante avant la solution idéale.

Je suis très intéressé par la solution avancée par Eriiic que j'ai retranscrite ainsi :

Application.Goto Reference:=Worksheets("Feuil1").Range("A4"), Scroll:=True

Malheureusement VBA n'accepte pas, cela plante à chaque fois !

Faut-il déclarer quelque chose ailleurs ?
Merci par avance...

Ca parait bon.
Quelle message d'erreur ?
Ta feuille s'appelle bien Feuil1 (sans espaces supplémentaires) ?
Il n'y a que là que tu peux te tromper

Hey Optimix,

Merci beaucoup, je garde ta solution dans un coin de mon C: des fois que .............. !!!!

Bien à vous les geeks et surtout, à bientôt pour de nouvelles et passionnantes aventures Excellisées

#dasaquit.
Merci. Je n'aurai pas complètement perdu mon temps sur ce truc.

Je t'assure que non #Optimix ton truc est vraiment génial et l'adapterai à mas sauce.

Bonne journée malgré ce fichu temps.

Bien à toi

Bonjour…

C’est normal que cela ne fonctionne pas avec :

Application.Goto Reference:=Worksheets("Feuil1").Range("A4"), Scroll:=True

il faut plutôt écrire :

Application.Goto.Feuil1.[A4] 0

Tu parles d’un formulaire donc je t’en propose un mais (comme toujours) , avec des Tableaux Structurés le travail de gestion on a des programmations plus simples !

Je viens (pour le même prix ) d’en ajouter un second formulaire qui peut être utile sans le premier quand on a beaucoup de lignes à gérer.

J’utilise cette partie défilement dans toutes les gestions de données à condition qu’elles ne soient pas très énormes (je laisse celles-ci aux Professionnels qui se font payer pour cela).

Bonjour,

Bonjour…

C’est normal que cela ne fonctionne pas avec :

Application.Goto Reference:=Worksheets("Feuil1").Range("A4"), Scroll:=True

il faut plutôt écrire :

Application.Goto.Feuil1.[A4] 0

Je doute de cette syntaxe...

Perso, bien que détestant enrober les cellules par des [ ], j'aurais à la rigueur vu :

Application.Goto Feuil1.[A4], 0

Et la syntaxe première fournie par Eriiic est tout à fait correcte

Bonne journée

re, oui c'est correcte

Application.Goto worksheets("Feuil1").range("A4"), 0
ou
Application.Goto Feuil1.[A4], 0
ou combinaison des 2

Bonjour à tous,

Au temps pour moi, tout fonctionne effectivement, sauf que parmi mes 6000 lignes de programme j'avais oublié celle-ci créée il y a longtemps, justement pour que l'on ne puisse pas bouger la fenêtre :

ActiveSheet.ScrollArea="A1:A1"

Du coup je l'ai transformée en:

ActiveSheet.ScrollArea="A1:A200"

Et maintenant tout fonctionne parfaitement !

Merci à tous.

Rechercher des sujets similaires à "monter descendre feuille calcul deux boutons"