Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déplacer un objet avec la fenetre

13 réponses
Avatar
StDonat
Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que lorsque
les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se trouve
sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...

10 réponses

1 2
Avatar
Fredo P.
À placer en code de feuille:l'objet ce déplacera d'un clic sur une cellule .
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Lg 'Ligne à adapter
Sheets("assol").Shapes("nom de l'objet").Top = Rows(Lg).Top
Sheets("assol").Shapes("menF").Left = Columns(Int(ActiveCell.Column / 22)
* 22 + 12).Left ' adapter la formule
end sub
"StDonat" a écrit dans le message de
news:
Bonsoir a tous.
Je voudrais, par VBA, qu'un bouton situé sur une feuille se déplace en
même

tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque

les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se
trouve

sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui
ne

veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...



Avatar
Fredo P.
Oups petit oubli
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Lg 'Ligne à adapter
Sheets("assol").Shapes("nom de l'objet").Top = Rows(Lg).Top
Sheets("assol").Shapes("nom de l'objet").Left Columns(Int(ActiveCell.Column / 22)
* 22 + 12).Left ' adapter la formule
end sub

"StDonat" a écrit dans le message de
news:
Bonsoir a tous.
Je voudrais, par VBA, qu'un bouton situé sur une feuille se déplace en
même

tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque

les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se
trouve

sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui
ne

veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...



Avatar
Fredo P.
Vraiment ,trop longtemps sans pratique me fait faire des c- rie.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Lg 'Ligne à adapter
Sheets("Ta feuille").Shapes("nom de l'objet").Top = Rows(Lg).Top
Sheets("Ta feuille").Shapes("nom de l'objet").Left Columns(Int(ActiveCell.Column / 22)
* 22 + 12).Left ' adapter la formule
end sub

"StDonat" a écrit dans le message de
news:
Bonsoir a tous.
Je voudrais, par VBA, qu'un bouton situé sur une feuille se déplace en
même

tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque

les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se
trouve

sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui
ne

veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...



Avatar
lSteph
Bonsoir,

*(Attention ne fonctionnera pas tel que pour 97)
utilise showmodal false

Voici une solution pour ce bouton un peu spécial
(cette idée est basée sur une autre astuce (N°1354) d'excelabo.net
Userform sans barre de titre de Michel Pierron que je remercie
à cette occasion).

Commandbutton1 est inséré à dimension dans userform1
dont propriètés (depuis la fenêtre prévue à cet effet)
top et left sont règlées à 120 et showmodal à false *

http://cjoint.com/?ltbwrCdYi5

Cdlt.

lSteph

'''''*****dans thisworkbook*****
Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show
End Sub
'''''*****dans Code Feuil1*****
Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

Private Sub Worksheet_Deactivate()
Unload UserForm1
End Sub

'''''*****dans Code userform*****
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long)
As Long

Private Sub CommandButton1_Click()
MsgBox "Vive MPFE"
End Sub

Private Sub UserForm_Initialize()
Dim hWnd As Long, Style As Long

hWnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hWnd, -16) And Not &HC00000
SetWindowLong hWnd, -16, Style
DrawMenuBar hWnd
End Sub
'''''*******

StDonat avait écrit le 18/11/2006 :
Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que lorsque
les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se trouve
sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...


--
- -

Avatar
StDonat
Merci de ta (tes) réponses, mais ce n'est pas ce que je souhaite, car
ActiveCell ne change pas forcement lorsque je déplace la fenetre( avec:
ActiveWindow.SmallScroll ToRight:=7)....


À placer en code de feuille:l'objet ce déplacera d'un clic sur une cellule .
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Lg 'Ligne à adapter
Sheets("assol").Shapes("nom de l'objet").Top = Rows(Lg).Top
Sheets("assol").Shapes("menF").Left = Columns(Int(ActiveCell.Column / 22)
* 22 + 12).Left ' adapter la formule
end sub
"StDonat" a écrit dans le message de
news:
Bonsoir a tous.
Je voudrais, par VBA, qu'un bouton situé sur une feuille se déplace en
même

tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque

les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se
trouve

sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui
ne

veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...








Avatar
StDonat
Bonjour!!
J'ai essayé, ça marche, bien que trés complexe pour moi, mais je suis géné
car je jongle entre 2 classeurs et le userform créé apparait sur les 2 et ce
n'est pas ce que je souhaite!!



Bonsoir,

*(Attention ne fonctionnera pas tel que pour 97)
utilise showmodal false

Voici une solution pour ce bouton un peu spécial
(cette idée est basée sur une autre astuce (N°1354) d'excelabo.net
Userform sans barre de titre de Michel Pierron que je remercie
à cette occasion).

Commandbutton1 est inséré à dimension dans userform1
dont propriètés (depuis la fenêtre prévue à cet effet)
top et left sont règlées à 120 et showmodal à false *

http://cjoint.com/?ltbwrCdYi5

Cdlt.

lSteph

'''''*****dans thisworkbook*****
Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show
End Sub
'''''*****dans Code Feuil1*****
Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

Private Sub Worksheet_Deactivate()
Unload UserForm1
End Sub

'''''*****dans Code userform*****
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long)
As Long

Private Sub CommandButton1_Click()
MsgBox "Vive MPFE"
End Sub

Private Sub UserForm_Initialize()
Dim hWnd As Long, Style As Long

hWnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hWnd, -16) And Not &HC00000
SetWindowLong hWnd, -16, Style
DrawMenuBar hWnd
End Sub
'''''*******

StDonat avait écrit le 18/11/2006 :
Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que lorsque
les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se trouve
sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...


--
- -






Avatar
lSteph
Bonjour,

Compris, rajoute ceci dans le Thisworkbook

Private Sub Workbook_Activate()
If Feuil1.Name = ActiveSheet.Name Then _
UserForm1.Show

End Sub

Private Sub Workbook_Deactivate()
Unload UserForm1
End Sub

'Cordialement.

'lSteph

StDonat a formulé ce dimanche :
Bonjour!!
J'ai essayé, ça marche, bien que trés complexe pour moi, mais je suis géné
car je jongle entre 2 classeurs et le userform créé apparait sur les 2 et ce
n'est pas ce que je souhaite!!



Bonsoir,

*(Attention ne fonctionnera pas tel que pour 97)
utilise showmodal false

Voici une solution pour ce bouton un peu spécial
(cette idée est basée sur une autre astuce (N°1354) d'excelabo.net
Userform sans barre de titre de Michel Pierron que je remercie
à cette occasion).

Commandbutton1 est inséré à dimension dans userform1
dont propriètés (depuis la fenêtre prévue à cet effet)
top et left sont règlées à 120 et showmodal à false *

http://cjoint.com/?ltbwrCdYi5

Cdlt.

lSteph

'''''*****dans thisworkbook*****
Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show
End Sub
'''''*****dans Code Feuil1*****
Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

Private Sub Worksheet_Deactivate()
Unload UserForm1
End Sub

'''''*****dans Code userform*****
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long)
As Long

Private Sub CommandButton1_Click()
MsgBox "Vive MPFE"
End Sub

Private Sub UserForm_Initialize()
Dim hWnd As Long, Style As Long

hWnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hWnd, -16) And Not &HC00000
SetWindowLong hWnd, -16, Style
DrawMenuBar hWnd
End Sub
'''''*******

StDonat avait écrit le 18/11/2006 :
Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque les colonnes A à L sont visible le bouton se trouve sous la
colonne "F" et lorsque ce sont les colonnes O à Z qui sont visible que le
bouton se trouve sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...


--
- -






--
- -



Avatar
StDonat
Merci avec cela ca va mieux! Mais je constate encore un probleme . Je
n'arrive pas
a positionner ce userform sur la ligne 1 quelque soit le nombre de bare
d'outils affichées! car Row.top me donne la position de la fenetre active
mais pas de la fenetre excel ?


Bonjour,

Compris, rajoute ceci dans le Thisworkbook

Private Sub Workbook_Activate()
If Feuil1.Name = ActiveSheet.Name Then _
UserForm1.Show

End Sub

Private Sub Workbook_Deactivate()
Unload UserForm1
End Sub

'Cordialement.

'lSteph

StDonat a formulé ce dimanche :
Bonjour!!
J'ai essayé, ça marche, bien que trés complexe pour moi, mais je suis géné
car je jongle entre 2 classeurs et le userform créé apparait sur les 2 et ce
n'est pas ce que je souhaite!!



Bonsoir,

*(Attention ne fonctionnera pas tel que pour 97)
utilise showmodal false

Voici une solution pour ce bouton un peu spécial
(cette idée est basée sur une autre astuce (N°1354) d'excelabo.net
Userform sans barre de titre de Michel Pierron que je remercie
à cette occasion).

Commandbutton1 est inséré à dimension dans userform1
dont propriètés (depuis la fenêtre prévue à cet effet)
top et left sont règlées à 120 et showmodal à false *

http://cjoint.com/?ltbwrCdYi5

Cdlt.

lSteph

'''''*****dans thisworkbook*****
Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show
End Sub
'''''*****dans Code Feuil1*****
Private Sub Worksheet_Activate()
UserForm1.Show
End Sub

Private Sub Worksheet_Deactivate()
Unload UserForm1
End Sub

'''''*****dans Code userform*****
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias
"SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As
Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long)
As Long

Private Sub CommandButton1_Click()
MsgBox "Vive MPFE"
End Sub

Private Sub UserForm_Initialize()
Dim hWnd As Long, Style As Long

hWnd = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(hWnd, -16) And Not &HC00000
SetWindowLong hWnd, -16, Style
DrawMenuBar hWnd
End Sub
'''''*******

StDonat avait écrit le 18/11/2006 :
Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que
lorsque les colonnes A à L sont visible le bouton se trouve sous la
colonne "F" et lorsque ce sont les colonnes O à Z qui sont visible que le
bouton se trouve sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...


--
- -






--
- -








Avatar
Misange
Bonjour,
Je pense que ceci
http://www.excelabo.net/moteurs/compteclic.php?nom=jfa-objetsuiveur
fait juste ce que tu souhaites.
Bon dimanche

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que lorsque
les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se trouve
sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...



Avatar
StDonat
Merci, c'est trés bien aussi, mais j'ai toujours besoin de cliquer sur une
cellule pour que ca fonctionne et je voudrais bien m'en passer!!


Bonjour,
Je pense que ceci
http://www.excelabo.net/moteurs/compteclic.php?nom=jfa-objetsuiveur
fait juste ce que tu souhaites.
Bon dimanche

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir a tous.
Je voudrais, par VBA, qu’un bouton situé sur une feuille se déplace en même
tps que je déplace l'affichage des colonnes. Exemple, je voudrais que lorsque
les colonnes A à L sont visible le bouton se trouve sous la colonne "F" et
lorsque ce sont les colonnes O à Z qui sont visible que le bouton se trouve
sous la colonne "T".

Merci a tous !
PS : Je peste parfois quand je vois certain titre "Objet du message" qui ne
veulent rien dire mais là je m'excuse mais je n'ai pas d'autres idée!...






1 2