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

Déplacer un userform

4 réponses
Avatar
Frederic
Bonjoue à tous,
est il possible de déplacer un objet form avec la barre de défilement
horizontale de la feuille xl sur laquelle apparait cet objet?
En d'autre termes, comment peut on récupérer la valeur de déplacement de
cette barre quand on a clické dessus?
Je ne connais pas du tout cette fonction(scrollbar)
Merci de votre aide.

4 réponses

Avatar
gérard
salut
le scrollbar a dans ses propriete une valeur mini et maxi
pour connaitre sa valeur
msgbox scrollbar.value
A+ gerard
"Frederic" a écrit dans le message de
news:
Bonjoue à tous,
est il possible de déplacer un objet form avec la barre de défilement
horizontale de la feuille xl sur laquelle apparait cet objet?
En d'autre termes, comment peut on récupérer la valeur de déplacement de
cette barre quand on a clické dessus?
Je ne connais pas du tout cette fonction(scrollbar)
Merci de votre aide.


Avatar
PMO
Bonjour,

Ambiguïté dans l'objet (un userform) et le texte de votre demande (objet
form) ?

S'il s'agit d'un objet form (j'entends par là un OleObject incorporé comme
un CommandButton par ex)
On peut utiliser l'astuce suivante, guère parfaite puisque l'utilisateur
devra sélectionner
une cellule pour que la procédure évènementielle soit lancée, mais qui a le
mérite de faire.

Code à copier dans le module de la FEUILLE contenant l'objet form
'*****************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Left = Columns(ActiveWindow.ScrollColumn).Left + 500
End Sub
'*****************
La valeur + 500 est à adapter. Elle représente la position horizontale
originelle du bouton.

S'il s'agit d'un UserForm du VBE, je n'ai pas trop compris ce que vous
voulez faire.
Si c'est pour que l'utilisateur puisse utiliser le scroll pendant que
l'UserForm est ouvert, vous
pouvez mettre sa propriété ShowModal à False.

Cordialement.

--
PMO
Patrick Morange



Bonjour à tous,
est il possible de déplacer un objet form avec la barre de défilement
horizontale de la feuille xl sur laquelle apparait cet objet?
En d'autre termes, comment peut on récupérer la valeur de déplacement de
cette barre quand on a clické dessus?
Je ne connais pas du tout cette fonction(scrollbar)
Merci de votre aide.


Avatar
Frederic
Bonjour,
il s'agit bien de userform qui sont créés avec la proprieté showmodale à
false.
La feuille xl sur laquelle ils apparaissent me sert de planning, mais est
plus grande que l'écran.
Or quand j'utilise la barre de défilement horizontale pour me déplacer dans
le planning, les userform étant positionnés par rapport à l'écran,ils ne se
déplacent pas.
J'ai donc besoin de savoir de quelle valeur la scroll à été déplacée.
Alors je pourrais modifier les propriétés Left de mes userform pour les
déplacer.
C'est là que j'ai besoin d'aide car je n'arrive pas à récupérer cette valeur.
J'ai visualisé ce qu'il se passe en faisant un enregistrement.
1 click sur la fleche équivaut à un smallscroll
1 click sur la barre équivaut à un largescroll
Je ne trouve pas la syntaxe correcte pour tester cette valeur.
Si vous avez une idée , je suis preneur.
Merci de votre aide.


Bonjour,

Ambiguïté dans l'objet (un userform) et le texte de votre demande (objet
form) ?

S'il s'agit d'un objet form (j'entends par là un OleObject incorporé comme
un CommandButton par ex)
On peut utiliser l'astuce suivante, guère parfaite puisque l'utilisateur
devra sélectionner
une cellule pour que la procédure évènementielle soit lancée, mais qui a le
mérite de faire.

Code à copier dans le module de la FEUILLE contenant l'objet form
'*****************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Left = Columns(ActiveWindow.ScrollColumn).Left + 500
End Sub
'*****************
La valeur + 500 est à adapter. Elle représente la position horizontale
originelle du bouton.

S'il s'agit d'un UserForm du VBE, je n'ai pas trop compris ce que vous
voulez faire.
Si c'est pour que l'utilisateur puisse utiliser le scroll pendant que
l'UserForm est ouvert, vous
pouvez mettre sa propriété ShowModal à False.

Cordialement.

--
PMO
Patrick Morange



Bonjour à tous,
est il possible de déplacer un objet form avec la barre de défilement
horizontale de la feuille xl sur laquelle apparait cet objet?
En d'autre termes, comment peut on récupérer la valeur de déplacement de
cette barre quand on a clické dessus?
Je ne connais pas du tout cette fonction(scrollbar)
Merci de votre aide.




Avatar
PMO
Bonjour,

En extrapolant l'astuce de mon message précédent:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Columns(ActiveWindow.ScrollColumn).Left
End Sub

Cordialement.

PMO
Patrick Morange



Bonjour,
il s'agit bien de userform qui sont créés avec la proprieté showmodale à
false.
La feuille xl sur laquelle ils apparaissent me sert de planning, mais est
plus grande que l'écran.
Or quand j'utilise la barre de défilement horizontale pour me déplacer dans
le planning, les userform étant positionnés par rapport à l'écran,ils ne se
déplacent pas.
J'ai donc besoin de savoir de quelle valeur la scroll à été déplacée.
Alors je pourrais modifier les propriétés Left de mes userform pour les
déplacer.
C'est là que j'ai besoin d'aide car je n'arrive pas à récupérer cette valeur.
J'ai visualisé ce qu'il se passe en faisant un enregistrement.
1 click sur la fleche équivaut à un smallscroll
1 click sur la barre équivaut à un largescroll
Je ne trouve pas la syntaxe correcte pour tester cette valeur.
Si vous avez une idée , je suis preneur.
Merci de votre aide.


Bonjour,

Ambiguïté dans l'objet (un userform) et le texte de votre demande (objet
form) ?

S'il s'agit d'un objet form (j'entends par là un OleObject incorporé comme
un CommandButton par ex)
On peut utiliser l'astuce suivante, guère parfaite puisque l'utilisateur
devra sélectionner
une cellule pour que la procédure évènementielle soit lancée, mais qui a le
mérite de faire.

Code à copier dans le module de la FEUILLE contenant l'objet form
'*****************
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Left = Columns(ActiveWindow.ScrollColumn).Left + 500
End Sub
'*****************
La valeur + 500 est à adapter. Elle représente la position horizontale
originelle du bouton.

S'il s'agit d'un UserForm du VBE, je n'ai pas trop compris ce que vous
voulez faire.
Si c'est pour que l'utilisateur puisse utiliser le scroll pendant que
l'UserForm est ouvert, vous
pouvez mettre sa propriété ShowModal à False.

Cordialement.

--
PMO
Patrick Morange



Bonjour à tous,
est il possible de déplacer un objet form avec la barre de défilement
horizontale de la feuille xl sur laquelle apparait cet objet?
En d'autre termes, comment peut on récupérer la valeur de déplacement de
cette barre quand on a clické dessus?
Je ne connais pas du tout cette fonction(scrollbar)
Merci de votre aide.