XL 2016 Figer des volets

Jgral

XLDnaute Nouveau
Bonjour,

J'ai un classeur Excel ou je fige une ligne pour faire un bandeau qui me suis lorsque je scrolle.

Mais j'aimerais également que les premières colonnes me suivent et je n'y arrive pas. L'idée est que l'utilisateur est en permanence accès au bouton de gauche lorsqu'il scrolle.

Avez vous une idée svp ?

Merci d'avance
 

Pièces jointes

  • Concepteur d'étude.xlsm
    797 KB · Affichages: 17
Solution
C'est très simple : le 3ème volet - Panes(3) - n'existe pas, il faut les 4 volets donc figer aussi les colonnes A et B.

Si vous ne voulez que 2 volets il faut remplacer Panes(3) par Panes(2) dans la macro.

De plus pour le 2ème bouton vous aviez écrit dans la macro CommandButton5 au lieu de CommandButton6, voyez ce fichier (4).

job75

XLDnaute Barbatruc
Bonjour Jgral,

Pourquoi ne pas placer les 3 boutons de gauche dans le volet figé ? Voyez le fichier joint.

J'ai dû insérer une colonne, il faudra peut-être modifier les macros, à vous de voir.

A+
 

Pièces jointes

  • Concepteur d'étude(1).xlsm
    717.1 KB · Affichages: 8

Jgral

XLDnaute Nouveau
Merci pour votre retour.

Alors plusieurs choses :

- Il va y avoir plus de trois boutons en fait.
- Je voudrais éviter de trop charger le bandeau car les utilisateurs doivent avoir tout les outils à porter de clic sans naviguer de gauche à droite. Le tout en gardant un page dégager au maximum.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Jgral, Job75,
Votre outil commence à prendre bien belle tournure.
Je pense qu'en terme d'ergonomie, le mieux est de laisser un maximum de surface à l'utilisateur. Donc à supprimer le bandeau gauche.
Il faudrait donc gagner de la place sur le bandeau supérieur.
Une idée en PJ pour montrer l'effet, qui permet de swapper des choix quand ils sont exclusifs ( RDC, 1er,2eme ... )
L'astuce est d'utiliser des shapes transparents, bords tranparents pour appeler une macro qui se charge de gérer l'affichage.
 

Pièces jointes

  • Idée Concepteur d'étude-2.xlsm
    801.7 KB · Affichages: 9

job75

XLDnaute Barbatruc
Salut sylvanu,
- Je voudrais éviter de trop charger le bandeau
Il existe une solution très bourrin, j'hésite à vous la donner mais bon vous ferez ce que vous voulez.

Elle consiste à faire tourner en permanence une macro pour positionner les boutons quel que soit le Scroll !!!

Voyez le fichier (2) joint :

- la feuille est fractionnée en 4 volets, celui qui contient les boutons est le 3ème

- la macro dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Application.OnTime 1, "Deplacer_Boutons" 'lance la macro
End Sub
- la macro dans Module1 :
Code:
Sub Deplacer_Boutons()
Dim h#, mem#
With Sheets("Concepteur étude")
    Do
        DoEvents 'pour pouvoir continuer à agir
        If ActiveSheet.Name = .Name Then
            h = ActiveWindow.Panes(3).VisibleRange.Top
            If h <> mem Then
                mem = h
                Application.ScreenUpdating = False
                .OLEObjects("CommandButton1").Top = h
                .OLEObjects("CommandButton5").Top = h + 36
                .OLEObjects("CommandButton3").Top = h + 72
                'ajouter d'autres boutons en décalant de 36
                Application.ScreenUpdating = True
            End If
        End If
    Loop
End With
End Sub
Attention, quand cette macro tourne on ne peut pas modifier le VBA, il faut l'arrêter par le menu Exécution => Réinitialiser.

A+
 

Pièces jointes

  • Concepteur d'étude(2).xlsm
    742.6 KB · Affichages: 4

youky(BJ)

XLDnaute Barbatruc
Bonjour tous,
Puisqu'il faut sélectionner une cellule avant de clicker sur le bouton autant le faire que sur la sélection.
En mode création sélectionner tous les boutons et Grouper cela fait "Groupe 1"
et dans le code de l'onglet
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
Feuil1.Shapes("Groupe 1").Top = Selection.Top + 50
End Sub

Bruno
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
ReBonjour Jgral, Job75,
Une macro qui tourne en permanence n'est pas toujours l'optimum.
Une autre idée :
Comme à priori si j'ai bien compris, le support sera une tablette, on peut permettre à l'utilisateur quand il remplit la partie basse de masquer le bandeau ( voir PJ ). Ce qui augmente de facto la surface utile.
De cette façon on a plus de latitude sur le bandeau superieur pour y installer deux trois boutons supplémentaires.
 

Pièces jointes

  • Idée Concepteur d'étude-3.xlsm
    735.5 KB · Affichages: 5

Jgral

XLDnaute Nouveau
Merci à tous pour vos contributions. C'est super !

La solution qui correspond parfaitement à ma recherche est celle de Job75.

J'entends que c'est bourrin de faire comme cela mais dans la mesure ou les utilisateurs n'auront pas à modifier le VBA mais simplement à utiliser le classeur est ce que cela vous paraît tout de même "bourrin" ?
 

job75

XLDnaute Barbatruc
Une petite améioration dans ce fichier (3) pour éviter l'invite à la fermeture quand on ne fait que scroller :
VB:
Sub Deplacer_Boutons()
Dim h#, mem#, s As Boolean
With Sheets("Concepteur étude")
    Do
        DoEvents 'pour pouvoir continuer à agir
        If ActiveSheet.Name = .Name Then
            h = ActiveWindow.Panes(3).VisibleRange.Top
            If h <> mem Then
                mem = h
                s = ThisWorkbook.Saved 'mémorise l'état
                Application.ScreenUpdating = False
                .OLEObjects("CommandButton1").Top = h
                .OLEObjects("CommandButton5").Top = h + 36
                .OLEObjects("CommandButton3").Top = h + 72
                'ajouter d'autres boutons en décalant de 36
                Application.ScreenUpdating = True
                If s Then ThisWorkbook.Saved = True 'évite l'invite à la fermeture du fichier si aucune autre modification
            End If
        End If
    Loop
End With
End Sub
 

Pièces jointes

  • Concepteur d'étude(3).xlsm
    748.2 KB · Affichages: 3

Jgral

XLDnaute Nouveau
J'ai un petit bug je sais pas ce que j'ai fait mais depuis 10 min ça ne fonctionne plus ... :eek:

Alors que je n'ai touché à rien.

Ca me sort cette erreur :

Capture.PNG
 

Pièces jointes

  • Concepteur d'étude.xlsm
    735 KB · Affichages: 2

job75

XLDnaute Barbatruc
C'est très simple : le 3ème volet - Panes(3) - n'existe pas, il faut les 4 volets donc figer aussi les colonnes A et B.

Si vous ne voulez que 2 volets il faut remplacer Panes(3) par Panes(2) dans la macro.

De plus pour le 2ème bouton vous aviez écrit dans la macro CommandButton5 au lieu de CommandButton6, voyez ce fichier (4).
 

Pièces jointes

  • Concepteur d'étude(4).xlsm
    746.7 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 504
Messages
2 089 086
Membres
104 025
dernier inscrit
NoobDu83