Se déplacer de zone en zone à l'aide de "Page Down"

  • Initiateur de la discussion Initiateur de la discussion Gedch
  • 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 !

Gedch

XLDnaute Occasionnel
J’ai une feuille relativement très longue

Elle est composée de plusieurs zones

Si je frappe Ctrl Up je me positionne directement sur la 1ère cellule de la zone 1.

Serait-il possible à l’aide d’une macro, de faire en sorte que en appuyant sur la touche « Page Down »,
La 1ère cellule de la zone suivante vienne se positionner dans le coin supérieur gauche de l’écran

Et ainsi de suite pour toutes les zones …..

Eventuellement la même chose, mais en remontant en tapant « Page Up »

J’ai réalisé une petite feuille de calcul en exemple
(Les zones sont composées de 5 à 30 lignes environ)

Si quelqu’un peut m’aider, je le remercie d’avance
 

Pièces jointes

Re : Se déplacer de zone en zone à l'aide de "Page Down"

Bonjour Gedch

Tu peux mettre ce code dans Thisworkbook

Code:
Private Sub Workbook_Open()
Application.OnKey ("{PGDN}"), "VaFinTableau"
End Sub

et celui ci dans un module

Code:
Sub VaFinTableau()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
derl = Cells(nlig, ncol).End(xlDown).Row
Cells(derl, ncol).Select
End Sub

Faire idem pour PGUP.

AH autant pour moi, ce n'est pas pour aller dans le coin supérieur gauche, mais se déplacer jusque la fin de la colonne 😱, mais bon c'est la philosophie de la chose.

Pour le tableau suivant, il suffit de remplacer par ce code:

Code:
Sub VaTableauSuivant()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
derl = Cells(nlig, 1).End(xlDown).Row
Cells(derl, 1).Select
End Sub
 
Dernière édition:
Re : Se déplacer de zone en zone à l'aide de "Page Down"

Bonjour MJ13

Merci pour ta macro, c'est bien ce que je veux

Par contre la cellule de la zone n'apparait en haut de l'écran
Je voudrai pour plus de lisibilité que la 1ère cellule de la zone vienne se positionner
dans le coin supérieur gauche.

Quel est la différence entre la 1ere macro et la suivante ???
 
Re : Se déplacer de zone en zone à l'aide de "Page Down"

Re

A tester:

Code:
Sub VaTableauSuivant()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
derl = Cells(nlig, 1).End(xlDown).Row
Application.Goto Reference:="R64536C1"
Application.Goto Reference:="R" & derl & "C1"
End Sub
 
Re : Se déplacer de zone en zone à l'aide de "Page Down"

Re

Pour le tableau précédent, tu peux tester ce code:

Code:
Sub VaTableauPrecedent()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
'derl = Cells(nlig, 1).End(xlUp).Row
derl = Cells(Selection.CurrentRegion.Row, 1).End(xlUp).Row
Application.Goto Reference:="R64536C1"
Application.Goto Reference:="R" & derl & "C1"
End Sub
 
Re : Se déplacer de zone en zone à l'aide de "Page Down"

Merci

Cela fonctionne parfaitement, dans les 2 sens 🙂🙂🙂

Par contre je viens de l'intégrer dans mon tableau d'origine

Mais je rencontre un gros problème, car j'ai mal fait mon exemple 😡
dans la colle A, il n'y pas que les titres qui sont inscrits

En fait la macro recherche toutes les cellules qui ne sont pas vides !
et de fait la macro s'arrête sur toutes les cellules pleines de la colonne A

Je pensais qu'elle rechercherais tous les noms commençant par "ZONE" dans la colonne A et uniquement ceux-là !

Mais c'est peut-être beaucoup plus compliqué 😕

Si ce n'est pas possible, je vais rajouter une colonne A dans mon tableau et je la cacherai.
Cela va modifier pas mal de calculs et d'autres macros ..... 🙁
 
Re : Se déplacer de zone en zone à l'aide de "Page Down"

Re

Mais je rencontre un gros problème, car j'ai mal fait mon exemple
dans la colle A, il n'y pas que les titres qui sont inscrits

Sinon, tu peux tester ce code:

Code:
Sub VaTableauSuivant()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
Selection.CurrentRegion.Select
NLigDeb = Selection.Row
NLigfin = Selection.Row + Selection.Rows.Count
derl = Cells(NLigfin, 1).End(xlDown).Row
Application.Goto Reference:="R64536C1"
Application.Goto Reference:="R" & derl & "C1"
End Sub
Sub VaTableauPrecedent()
ncol = ActiveCell.Column
nlig = ActiveCell.Row
ActiveCell.CurrentRegion.Select
NLigDeb = Selection.Row
NLigfin = Selection.Row + Selection.Rows.Count
derl = Cells(NLigDeb, 1).End(xlUp).Row
Application.Goto Reference:="R64536C1"
Application.Goto Reference:="R" & derl & "C1"
ActiveCell.CurrentRegion.Select
NLigDeb = Selection.Row
Application.Goto Reference:="R64536C1"
Application.Goto Reference:="R" & NLigDeb & "C1"
End Sub
 
Dernière édition:
Re : Se déplacer de zone en zone à l'aide de "Page Down"

C'est pas ça

La macro saute toutes les cellules vides et vient se positionner sur la 1ère cellule d'un groupe de cellules remplies dans la colonne A, mais pas nécessairement sur tous les noms de zone
 
Re : Se déplacer de zone en zone à l'aide de "Page Down"

J'ai pensé à peut être beaucoup plus simple

Mettre les noms de zone dans la colonne DS soit la colonne 123 (c'est la dernière colonne inoccupée de ma feuille)

Cela ne me générerai absolument pas, mais par contre je veux que ce soit la colonne A et non la colonne DS qui apparaisse à l'écran.

J'ai bien arrivé à modifier ta macro de sorte que la recherche se fasse sur cette colonne DS
Mais problème c'est cette colonne qui apparait à l'écran et non la colonne A

Et là, je n'arrive pas à modifier
 
- 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

Retour