Défilement automatique pour positionner une cellule
9 réponses
Apitos
Bonjour =C3=A0 tous,
Je voulais essayer de scroller la fen=C3=AAtre active pour positionner la c=
ellule s=C3=A9lectionn=C3=A9e juste par trois lignes au dessous de la limit=
e du volet fig=C3=A9.
J=E2=80=99ai test=C3=A9 avec le cas du choix "C4" et j'ai obtenu un scroll =
de 15 lignes en bas pour positionner la cellule "C4" en bas du volet fig=C3=
=A9 :
[code] 'Scroll de la fen=C3=AAtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:=3D15
[/code]
Qu'en est-il pour les autres cas ?
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H2]) Is Nothing Then
On Error Resume Next
Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fen=C3=AAtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:=3D15
End If
End Sub
'----------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Je ne comprends pas la question...
Cependant si tu veux utiliser la fonction "Match", fais comme ceci :
Application.Match(Target, [A:A], 0)
Lorsque cette fonction est jumelée à WorksheetFunction, un bogue est généré...
Pourquoi utilises-tu "On error resume next"
Procède de cette manière : '--------------------------------------------- Dim X as Variant x = Application.Match(Target, [A:A], 0)
If IsNumeric(x) then 'X représente la ligne ActiveWindow.SmallScroll Down: Else 'Match n'a rien trouvé, on efface l'erreur err.clear end if '---------------------------------------------
Pour t'en dire plus, il faudrait d'abord que je comprenne ce que tu veux faire!
MichD
Bonjour,
Je ne comprends pas la question...
Cependant si tu veux utiliser la fonction "Match", fais comme ceci :
Application.Match(Target, [A:A], 0)
Lorsque cette fonction est jumelée à WorksheetFunction, un bogue est
généré...
Pourquoi utilises-tu "On error resume next"
Procède de cette manière :
'---------------------------------------------
Dim X as Variant
x = Application.Match(Target, [A:A], 0)
If IsNumeric(x) then
'X représente la ligne
ActiveWindow.SmallScroll Down:
Else
'Match n'a rien trouvé, on efface l'erreur
err.clear
end if
'---------------------------------------------
Pour t'en dire plus, il faudrait d'abord que je comprenne ce que tu veux
faire!
Cependant si tu veux utiliser la fonction "Match", fais comme ceci :
Application.Match(Target, [A:A], 0)
Lorsque cette fonction est jumelée à WorksheetFunction, un bogue est généré...
Pourquoi utilises-tu "On error resume next"
Procède de cette manière : '--------------------------------------------- Dim X as Variant x = Application.Match(Target, [A:A], 0)
If IsNumeric(x) then 'X représente la ligne ActiveWindow.SmallScroll Down: Else 'Match n'a rien trouvé, on efface l'erreur err.clear end if '---------------------------------------------
Pour t'en dire plus, il faudrait d'abord que je comprenne ce que tu veux faire!
MichD
isabelle
bonjour Apitos,
expression.Goto(Reference, Scroll)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next rw = WorksheetFunction.Match(Target, [A:A], 0) Application.Goto Range("A" & rw), True End If End Sub
isabelle
Le 2016-05-25 16:24, Apitos a écrit :
Bonjour à tous,
Je voulais essayer de scroller la fenêtre active pour positionner la cellule sélectionnée juste par trois lignes au dessous de la limite du volet figé.
J’ai testé avec le cas du choix "C4" et j'ai obtenu un scroll de 15 lignes en bas pour positionner la cellule "C4" en bas du volet figé :
[code] 'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: [/code]
Qu'en est-il pour les autres cas ?
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: End If End Sub '----------------------------
Merci d'avance.
bonjour Apitos,
expression.Goto(Reference, Scroll)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H2]) Is Nothing Then
On Error Resume Next
rw = WorksheetFunction.Match(Target, [A:A], 0)
Application.Goto Range("A" & rw), True
End If
End Sub
isabelle
Le 2016-05-25 16:24, Apitos a écrit :
Bonjour à tous,
Je voulais essayer de scroller la fenêtre active pour positionner la cellule sélectionnée juste par trois lignes au dessous de la limite du volet figé.
J’ai testé avec le cas du choix "C4" et j'ai obtenu un scroll de 15 lignes en bas pour positionner la cellule "C4" en bas du volet figé :
[code] 'Scroll de la fenêtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:
[/code]
Qu'en est-il pour les autres cas ?
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H2]) Is Nothing Then
On Error Resume Next
Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:
End If
End Sub
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next rw = WorksheetFunction.Match(Target, [A:A], 0) Application.Goto Range("A" & rw), True End If End Sub
isabelle
Le 2016-05-25 16:24, Apitos a écrit :
Bonjour à tous,
Je voulais essayer de scroller la fenêtre active pour positionner la cellule sélectionnée juste par trois lignes au dessous de la limite du volet figé.
J’ai testé avec le cas du choix "C4" et j'ai obtenu un scroll de 15 lignes en bas pour positionner la cellule "C4" en bas du volet figé :
[code] 'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: [/code]
Qu'en est-il pour les autres cas ?
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: End If End Sub '----------------------------
si tu fait SmallScroll Down: avec le choix C1, la ligne de C1 sera cachée. à combien de lignes C1 doit être par rapport à la ligne 3 ? à combien de lignes C2 doit être par rapport à la ligne 3 ? à combien de lignes C3 doit être par rapport à la ligne 3 ? etc. isabelle
Le 2016-05-25 17:17, Apitos a écrit :
Bonjour MichD, Isabelle,
Voila un exemple (A tester avec le choix C4) :
http://www.cjoint.com/c/FEzvqAs3SY2
si tu fait SmallScroll Down: avec le choix C1, la ligne de C1 sera cachée.
à combien de lignes C1 doit être par rapport à la ligne 3 ?
à combien de lignes C2 doit être par rapport à la ligne 3 ?
à combien de lignes C3 doit être par rapport à la ligne 3 ?
etc.
isabelle
si tu fait SmallScroll Down: avec le choix C1, la ligne de C1 sera cachée. à combien de lignes C1 doit être par rapport à la ligne 3 ? à combien de lignes C2 doit être par rapport à la ligne 3 ? à combien de lignes C3 doit être par rapport à la ligne 3 ? etc. isabelle
Le 2016-05-25 17:17, Apitos a écrit :
Bonjour MichD, Isabelle,
Voila un exemple (A tester avec le choix C4) :
http://www.cjoint.com/c/FEzvqAs3SY2
Apitos
Le SmallScroll Down: est propre au choix C4 seulement.
Il faudra un calcul pour positionner les autres choix
Le SmallScroll Down: est propre au choix C4 seulement.
Il faudra un calcul pour positionner les autres choix
With ActiveWindow If .FreezePanes Then Cells(.SplitRow + 1, ActiveCell.Column).Activate .SmallScroll Down:=MyRow - .SplitRow End If End With End If Application.EnableEvents = True End Sub
[code] 'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: [/code]
Qu'en est-il pour les autres cas ?
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: End If End Sub '----------------------------
Merci d'avance.
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H2]) Is Nothing Then
With ActiveWindow
If .FreezePanes Then
Cells(.SplitRow + 1, ActiveCell.Column).Activate
.SmallScroll Down:=MyRow - .SplitRow
End If
End With
End If
Application.EnableEvents = True
End Sub
[code] 'Scroll de la fenêtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:=15
[/code]
Qu'en est-il pour les autres cas ?
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [H2]) Is Nothing Then
On Error Resume Next
Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4
ActiveWindow.SmallScroll Down:=15
End If
End Sub
'----------------------------
With ActiveWindow If .FreezePanes Then Cells(.SplitRow + 1, ActiveCell.Column).Activate .SmallScroll Down:=MyRow - .SplitRow End If End With End If Application.EnableEvents = True End Sub
[code] 'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: [/code]
Qu'en est-il pour les autres cas ?
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [H2]) Is Nothing Then On Error Resume Next Range("A" & WorksheetFunction.Match(Target, [A:A], 0)).Select
'Scroll de la fenêtre active pour le cas du choix C4 ActiveWindow.SmallScroll Down: End If End Sub '----------------------------
Merci d'avance.
DanielCo
Bonjour,
Windows(2).Activate ActiveWindow.ScrollRow = ActiveCell.Row - 3 Daniel
Le SmallScroll Down: est propre au choix C4 seulement.
Il faudra un calcul pour positionner les autres choix
Bonjour,
Windows(2).Activate
ActiveWindow.ScrollRow = ActiveCell.Row - 3
Daniel
Le SmallScroll Down: est propre au choix C4 seulement.
Il faudra un calcul pour positionner les autres choix
With ActiveWindow If .FreezePanes Then Cells(.SplitRow + 1, ActiveCell.Column).Activate .SmallScroll Down:=MyRow - .SplitRow End If End With End If Application.EnableEvents = True End Sub
With ActiveWindow
If .FreezePanes Then
Cells(.SplitRow + 1, ActiveCell.Column).Activate
.SmallScroll Down:=MyRow - .SplitRow
End If
End With
End If
Application.EnableEvents = True
End Sub
With ActiveWindow If .FreezePanes Then Cells(.SplitRow + 1, ActiveCell.Column).Activate .SmallScroll Down:=MyRow - .SplitRow End If End With End If Application.EnableEvents = True End Sub