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
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
.
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" <nomail@nomail.net> a écrit dans le message de
news:
edxinmm1EHA.824@TK2MSFTNGP11.phx.gbl...
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
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
.
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
.
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" <nomail@nomail.net> a écrit dans le message de
news:
edxinmm1EHA.824@TK2MSFTNGP11.phx.gbl...
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
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