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

Faire déplacer des objets avec les barres de difilement

12 réponses
Avatar
Apitos
Bonjour =E0 tous,

Est-il possible d'avoir dans une feuille Excel, des objets qui se
d=E9placent avec les barre d'outils tels que des boutons, commentaires,
zones de texte ou info bulles et dans lesquels il y'a des formules par
exemple ?

Merci.

2 réponses

1 2
Avatar
lSteph
Supposons un Userform avec un Label que l'on initialise avec le
contenu en formule de A1
voici deux versions (la seconde est pour 97 où le userform n'est pas
directement utilisable en non modal)


'''Version pour Excel 2K ou+

'''Code Userform1
Private Sub UserForm_Initialize()

Me.StartUpPosition = 3
Me.Left = 450
Me.Top = 250
Label1 = Feuil1.[a1].formula
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''
'''dans Thisworkbook


Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show 0
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''
'''code de Feuil1


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then
Unload UserForm1
Call toto
End If
End Sub

Private Sub toto()
UserForm1.Show 0
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''



'Version pour Excel97

'''''''''Code Userform

Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib "User32" _
(ByVal hWnd As Long, ByVal bEnable As Long) As Long

Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long


Private Sub UserForm_Activate()

EnableWindow FindWindowA("XLMAIN", Application.Caption), 1

End Sub

Private Sub UserForm_Initialize()

Dim hWnd As Long

hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) Or &H20000

Me.StartUpPosition = 3
Me.Left = 450
Me.Top = 250
Label1 = Feuil1.[a1]
End Sub
''''''''''''''''''''''''''''''''''''''''''''

'''dans Thisworkbook


Private Sub Workbook_Open()
Feuil1.Activate
UserForm1.Show
End Sub
''''''''''''''''''''''''''''''''''''''''''
'''code de Feuil1


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1]) Is Nothing Then
Unload UserForm1
Call toto
End If
End Sub

Private Sub toto()
UserForm1.Show
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''





On 29 sep, 11:44, Apitos wrote:
Bonjour LSteph,

> Utilises un userform non modal, ainsi il restera toujours à sa place
> dans l'écran (place que tu peux déterminer)

As-tu un exmple ?

>  >Au fait je ne sui pas un fumeur ...
> moi non plus enfin depuis qqs années, mais rieur, oui je le reste!
> ;-)

Même caractère à peu près ::)


Avatar
Apitos
Bonsoir LSteph,

Ca marche pour le UserForm.

Merci.
1 2