Comment figer une zone de la feuille

Chris57

XLDnaute Occasionnel
Bonjour à tous,

sur une feuille où je ne peux pas figer les volets, je cherche à figer une plage qui doit rester visible quelque soit le déplacement avec l'ascenseur haut/bas.

Ce que je voudrais en fait c'est que quelques boutons restent tout le temps visibles, un peut comme si je figeait les volets.

J'ai testé cette macro :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim TopPos As Long
Dim LeftPos As Long
Dim X As Long
Dim Y As Long

For X = 1 To ActiveWindow.ScrollRow - 1
    TopPos = TopPos + Cells(X, 1).Height
Next X
For Y = 1 To ActiveWindow.ScrollColumn - 1
    LeftPos = LeftPos + Cells(Y, 1).Width
Next Y

ActiveSheet.Shapes("INSERER1lignecom").Left = LeftPos + ActiveWindow.UsableWidth - 600
ActiveSheet.Shapes("INSERER1lignecom").Top = TopPos + ActiveWindow.UsableHeight - 580

end sub
elle déplace le bouton à chaque sélection de cellule, mais si je descend un peu trop bas, le bouton est mal placé et n'apparait plus dans la fenêtre...

Auriez-vous une idée ??
 

Pierrot93

XLDnaute Barbatruc
Re : Comment figer une zone de la feuille

Bonjour,

regarde ceci, mais ne se déclenchera pas avec l'utilisation de l'ascensseur, uniquement au changement de selection de cellule...
Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With ActiveWindow.VisibleRange
    Me.Shapes(1).Top = .Rows(1).Top
    Me.Shapes(1).Left = .Columns(1).Left
End With
End Sub

bon après midi
@+
 

Chris57

XLDnaute Occasionnel
Re : Comment figer une zone de la feuille

Entre temps j'ai testé ceci :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Déplace les boutons en fontion de la position dans la feuille
    If Target.Row > 20 Then
    ActiveSheet.Shapes("GroupeBOUTONS").Top = Target.Top - 160
    Else
    ActiveSheet.Shapes("GroupeBOUTONS").Top = Range("A10").Top
    End If
End Sub

Mais ton code est nettement mieux car il donne une position en fonction d'une ligne, ce que est excellent !!

MERCI !!
 

Discussions similaires