OVH Cloud OVH Cloud

Centrer verticalement la ligne active

12 réponses
Avatar
Serge Hipontoise
Bonsoir à tous !
J'ai une macro qui me permet de me déplacer d'une ligne à l'autre à la
recherche d'une chaîne de caractère prédéfinie.
Existerait-il un moyen qui permette de centrer verticalement à l'écran (ou
dans le fenêtre d'excel) la ligne sur laquelle j'arrive. C'est à dire
qu'elle soit au milieu en hauteur quoi.
Un grand merci d'avance
Serge

2 réponses

1 2
Avatar
GD
Bonsour ®Serge Hipontoise
c'est quoi "®,MPR " ? :o)
simple déformation professionnelle pour un centre de pièces de rechange de

Cergy ;o)))

Mais comment :
appliquer un facteur correcteur en cas de zoom



Sub Macro1()
Dim Milieu As Single, FactZoom As Single
FactZoom = ActiveWindow.Zoom / 100
Milieu = 0.5 * Int(ActiveWindow.UsableHeight / ActiveCell.Height)
ActiveWindow.ScrollRow = Application.Max(1, ActiveCell.Row - Int(Milieu
/ FactZoom))
End Sub
;o)))
pour etre puriste, il faudrait aussi tenir compte de la hauteur
de la barre de formule
de la barre d'état
et de la hauteur réservé aux onglets
mais des problemes se poseraient également
pour des hauteurs de ligne variables
des cellules fusionnées
du fenetrage ou meme du filtrage ...
;o)))
@+





"GD" a écrit dans le message de
news:


Bonsour ® mateos francois,
;-)))
heu...oui... oui ... trés bonne méthode ;o)))
mais en l'occurrence le monsieur demandais : pour
centrer au milieu de la


plage visible ... ;o)))
soit quelquechose de ce genre :

Sub Macro1()
'----en suppossant que 30 lignes sont visibles à
l'écran ;o)))


' ----en cas de zoom ou de résolution differente il
faudra calculer


préalablement le nombre de ligne visible !!!
ActiveWindow.ScrollRow = Application.Max(1,
ActiveCell.Row - 15)


End Sub

wrote:
bonsoir ,
je suis nouveau en programmation mais il y a quelque
chose que je fais



lorsque je ne connais pas le code , c'est que
j'enregistre une macro



"bidon" pour voir simplement le code et me permettre
de le comprendre



en l'occurence pour centrer une cellule :

[A1].select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With

A+
FM






.






Avatar
Serge Hipontoise
C'est nickel !!!
Un grand merci GD (aka Modeste :o) et à tous !
Serge (MPR)

c'est quoi "®,MPR " ? :o)
simple déformation professionnelle pour un centre de pièces de rechange de

Cergy ;o)))

Mais comment :
appliquer un facteur correcteur en cas de zoom



Sub Macro1()
Dim Milieu As Single, FactZoom As Single
FactZoom = ActiveWindow.Zoom / 100
Milieu = 0.5 * Int(ActiveWindow.UsableHeight / ActiveCell.Height)
ActiveWindow.ScrollRow = Application.Max(1, ActiveCell.Row - Int(Milieu
/ FactZoom))
End Sub
;o)))
pour etre puriste, il faudrait aussi tenir compte de la hauteur
de la barre de formule
de la barre d'état
et de la hauteur réservé aux onglets
mais des problemes se poseraient également
pour des hauteurs de ligne variables
des cellules fusionnées
du fenetrage ou meme du filtrage ...
;o)))
@+





"GD" a écrit dans le message de
news:


Bonsour ® mateos francois,
;-)))
heu...oui... oui ... trés bonne méthode ;o)))
mais en l'occurrence le monsieur demandais : pour
centrer au milieu de la


plage visible ... ;o)))
soit quelquechose de ce genre :

Sub Macro1()
'----en suppossant que 30 lignes sont visibles à
l'écran ;o)))


' ----en cas de zoom ou de résolution differente il
faudra calculer


préalablement le nombre de ligne visible !!!
ActiveWindow.ScrollRow = Application.Max(1,
ActiveCell.Row - 15)


End Sub

wrote:
bonsoir ,
je suis nouveau en programmation mais il y a quelque
chose que je fais



lorsque je ne connais pas le code , c'est que
j'enregistre une macro



"bidon" pour voir simplement le code et me permettre
de le comprendre



en l'occurence pour centrer une cellule :

[A1].select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With

A+
FM






.










1 2