OVH Cloud OVH Cloud

Déplacer automatiquement 2 objets

11 réponses
Avatar
Jean-Paul V
Bonjour à tous

J’ai 2 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la deuxième ligne.

Le premier objet permet un retour rapide à un menu le deuxieme est une
flèche auquel j’ai affecté la macro « BAS »
Comment modifier la macro BAS qui est sensée faire une page down.

Les 2 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 1)
ActiveSheet.Shapes("Trait 4").Left = Rg.Left
ActiveSheet.Shapes("Trait 4").Top = Rg.Top
Set Rg = Nothing
End Sub

Sub BAS()
ActiveWindow.LargeScroll Down:=1
End Sub

Bien Amicalement

Jean-Paul V

10 réponses

1 2
Avatar
JièL Goubert
Bonjoir(c) Jean-Paul V

tiens, encore un frère Five ? y sont combien dans cette famille ;-))))))
désolé, je ne répond pas à votre question, mais c'etait tentant et
relativement "private joke"

JièL IV65536

Le 25/06/2005 19:54 vous avez écrit ceci :
Bonjour à tous

J’ai 2 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la deuxième ligne.

Le premier objet permet un retour rapide à un menu le deuxieme est une
flèche auquel j’ai affecté la macro « BAS »
Comment modifier la macro BAS qui est sensée faire une page down.

Les 2 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 1)
ActiveSheet.Shapes("Trait 4").Left = Rg.Left
ActiveSheet.Shapes("Trait 4").Top = Rg.Top
Set Rg = Nothing
End Sub

Sub BAS()
ActiveWindow.LargeScroll Down:=1
End Sub

Bien Amicalement

Jean-Paul V


Avatar
Jacques93
Bonjour Jean-Paul V,

Si le but est de déplacer la cellule active, comme le fait Page Down :

Sub BAS()
Dim r As Long

With ActiveWindow
r = .ActiveCell.Row - .VisibleRange.Row
.LargeScroll Down:=1
Cells(.VisibleRange.Row + r, .ActiveCell.Column).Select
End With
End Sub


Bonjour à tous

J’ai 2 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la deuxième ligne.

Le premier objet permet un retour rapide à un menu le deuxieme est une
flèche auquel j’ai affecté la macro « BAS »
Comment modifier la macro BAS qui est sensée faire une page down.

Les 2 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 1)
ActiveSheet.Shapes("Trait 4").Left = Rg.Left
ActiveSheet.Shapes("Trait 4").Top = Rg.Top
Set Rg = Nothing
End Sub

Sub BAS()
ActiveWindow.LargeScroll Down:=1
End Sub

Bien Amicalement

Jean-Paul V




--
Cordialement,

Jacques.

Avatar
Jean-Paul V
Bonjour Jacques

Merci ça marche

Serait-il possible de savoir la position à un instant t de l'objet image 2
afin que la macro renvoie à un menu1 ou un menu2 suivant sa position
cela peut-être aussi la position de la cellule active?


Bonjour Jean-Paul V,

Si le but est de déplacer la cellule active, comme le fait Page Down :

Sub BAS()
Dim r As Long

With ActiveWindow
r = .ActiveCell.Row - .VisibleRange.Row
.LargeScroll Down:=1
Cells(.VisibleRange.Row + r, .ActiveCell.Column).Select
End With
End Sub


Bonjour à tous

J’ai 2 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la deuxième ligne.

Le premier objet permet un retour rapide à un menu le deuxieme est une
flèche auquel j’ai affecté la macro « BAS »
Comment modifier la macro BAS qui est sensée faire une page down.

Les 2 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 1)
ActiveSheet.Shapes("Trait 4").Left = Rg.Left
ActiveSheet.Shapes("Trait 4").Top = Rg.Top
Set Rg = Nothing
End Sub

Sub BAS()
ActiveWindow.LargeScroll Down:=1
End Sub

Bien Amicalement

Jean-Paul V




--
Cordialement,

Jacques.




Avatar
Jacques93
Bonjour Jean-Paul V,

Je n'ai pas vu de propriété ou de méthode permettant de 'remonter'
d'un objet Shape à un objet Range (peut être mal regardé). Mais tu peux
par exemple stocker sa position :

Dim Image2Row as long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rg As Range

Set rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
Image2Row = rg.Row
ActiveSheet.Shapes("Image 2").Left = rg.Left
ActiveSheet.Shapes("Image 2").Top = rg.Top

...

Bonjour Jacques

Merci ça marche

Serait-il possible de savoir la position à un instant t de l'objet image 2
afin que la macro renvoie à un menu1 ou un menu2 suivant sa position
cela peut-être aussi la position de la cellule active?



--
Cordialement,

Jacques.

Avatar
ChrisV
Salut JièL,

Pfff...
Y' en a assez avec 2 ! ;-))

Mais il semblerait (d'après ce que j'ai pu lire rapidement ce soir des
évènements du W.E....) qu'Alain soit bientôt sur le point de faire entrer
une belle-soeur dans la famille...

Re-Pfff dirait le second...


ChrisV


"JièL Goubert" a écrit dans le
message de news:
Bonjoir(c) Jean-Paul V

tiens, encore un frère Five ? y sont combien dans cette famille ;-))))))
désolé, je ne répond pas à votre question, mais c'etait tentant et
relativement "private joke"

JièL IV65536

Le 25/06/2005 19:54 vous avez écrit ceci :
Bonjour à tous

J'ai 2 objets qui se déplacent automatiquement sur la feuille et qui sont
toujours sur la deuxième ligne.

Le premier objet permet un retour rapide à un menu le deuxieme est une
flèche auquel j'ai affecté la macro « BAS »
Comment modifier la macro BAS qui est sensée faire une page down.

Les 2 macros sont :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1)
ActiveSheet.Shapes("Image 2").Left = Rg.Left
ActiveSheet.Shapes("Image 2").Top = Rg.Top
Set Rg = Range(ActiveWindow.VisibleRange.Address).Offset(1, 1)
ActiveSheet.Shapes("Trait 4").Left = Rg.Left
ActiveSheet.Shapes("Trait 4").Top = Rg.Top
Set Rg = Nothing
End Sub

Sub BAS()
ActiveWindow.LargeScroll Down:=1
End Sub

Bien Amicalement

Jean-Paul V




Avatar
Starwing
Salut ChrisV,

Hum! Il me semble comprendre que Nadia te trouve plutôt de bon goût!

Starwing :faisant allusion à cette phrase:
Chris Verraest est bien plus cooooool
Avatar
ChrisV
Salut Starwing,

Je viens de le lire...
Je prends l'avion demain pour la Suisse ! ;-)


ChrisV


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

Salut ChrisV,

Hum! Il me semble comprendre que Nadia te trouve plutôt de bon goût!

Starwing :faisant allusion à cette phrase:
Chris Verraest est bien plus cooooool




Avatar
Starwing
:-))

Je te souhaite plein de petit(s) bonheur(s) en chemin...

Starwing: faisant allusion aux petits marmots!
Avatar
jps
pour peu que l'intéressée habite porc en truie....
jps

"Starwing" a écrit dans le message de news:
%
:-))

Je te souhaite plein de petit(s) bonheur(s) en chemin...

Starwing: faisant allusion aux petits marmots!




Avatar
AV
Je prends l'avion demain pour la Suisse ! ;-)


N'achète pas de billet : je te refourgue le mien !
Renseignements pris, il y aurait aussi 5 enfants + une grand-mère malade +
quelques dettes à apurer ...
Courage fuyons !

AV

1 2