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

10 réponses

1 2
Avatar
mateos francois
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
GD
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
jps
heu, françois, je ne voudrais pas parier mais je pense que ce n'est pas ce
que veut serge, même s'il n'est pas très facile au lecteur de savoir ce que
peut vouloir dire "centrer une ligne verticalement"...il y a du scroll là
derrière mais quant à l'utiliser....
jps


"mateos francois" a écrit dans le message de
news:41abaa05$0$1018$
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
jps
et le voilà le scroll à geedee...
je note, je note
jps

"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
jps
juste une question, monsieur modeste : le "1" joue quel rôle dans cette
affaire? toi qui es un... as devrait pouvoir me me dire facilement....
merci d'avance
jps

"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
Hello GD
Ca marche impeccable, merci beaucoup
Tu sugères dans ta réponse qu'il est possible de calculer le nombre de
lignes visibles à l'écran (et non pas visibles tout court) ...
Comment faire ça ? ;o)
Merci beaucoup
Serge



"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
Modeste
Bonsour ®,MPR ;o)))
simplement... ???
en faisant :
MsgBox Int(ActiveWindow.UsableHeight / ActiveCell.Height)
sous réserves.....
appliquer un facteur correcteur en cas de zoom

@+
-----Message d'origine-----
Hello GD
Ca marche impeccable, merci beaucoup
Tu sugères dans ta réponse qu'il est possible de
calculer le nombre de

lignes visibles à l'écran (et non pas visibles tout
court) ...

Comment faire ça ? ;o)
Merci beaucoup
Serge



"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
Modeste
Bonsour® jean-paul,

le 1 c'est pour éviter une gestion d'erreur en cas de
scroll en-deça de la ligne 1 !!!!

pas facile de mettre la ligne 1 à mi-hauteur de l'écran ??
oui, je sais...
toi, avec tes BO, seule la ligne 1 apparait en bas !!!!
;o)))
@+

-----Message d'origine-----
juste une question, monsieur modeste : le "1" joue quel
rôle dans cette

affaire? toi qui es un... as devrait pouvoir me me dire
facilement....

merci d'avance
jps

"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
jps
1) corriger la faute
toi qui es un... as devrais pouvoir me me dire
facilement....
2) dire merci à GD
3) s'étonner de la connaissance de mes BO par ce même GD
jps

"Modeste" a écrit dans le message de
news:155401c4d6b6$ed301600$
Bonsour® jean-paul,

le 1 c'est pour éviter une gestion d'erreur en cas de
scroll en-deça de la ligne 1 !!!!

pas facile de mettre la ligne 1 à mi-hauteur de l'écran ??
oui, je sais...
toi, avec tes BO, seule la ligne 1 apparait en bas !!!!
;o)))
@+

-----Message d'origine-----
juste une question, monsieur modeste : le "1" joue quel
rôle dans cette

affaire? toi qui es un... as devrait pouvoir me me dire
facilement....

merci d'avance
jps

"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
Bonsour ®,MPR ;o)))


Bonsour aussi :o)
c'est quoi "®,MPR " ? :o)

en faisant :
MsgBox Int(ActiveWindow.UsableHeight / ActiveCell.Height)


Ca marche très bien, effectivement, un grand merci ! Mais comment :
appliquer un facteur correcteur en cas de zoom
???

Merci d'avance
Serge


simplement... ???
en faisant :
MsgBox Int(ActiveWindow.UsableHeight / ActiveCell.Height)
sous réserves.....
appliquer un facteur correcteur en cas de zoom

@+
-----Message d'origine-----
Hello GD
Ca marche impeccable, merci beaucoup
Tu sugères dans ta réponse qu'il est possible de
calculer le nombre de

lignes visibles à l'écran (et non pas visibles tout
court) ...

Comment faire ça ? ;o)
Merci beaucoup
Serge



"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