Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Ancrer/figer un userform sur une page excel

  • Initiateur de la discussion Initiateur de la discussion Attila451
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Attila451

XLDnaute Occasionnel
Bonjour,
J'avais l'habitude d'insèrer des boutons et d'y attacher des macros, du coup, en fonction du nombre de macro, j'avais autant de boutons que de macros. C'est un peu plus sexy en le faisant via un userform, par contre, je dois quand même attacher le userform à un bouton.
Est il possible de "coller" le userform directement sur une feuille excel ? Sans avoir à l'appeler ? Est il possible de l'ancrer à un endroit bien précis de la feuille excel ?

Le fichier sur lequel je travaille est confidentiel, je ne peux pas le joindre.
J'espère que ma demande est assez claire.
D'avance merci.
Cdlt
 
Bonjour Attila,
Peut être une autre approche en utilisant la macro événementielle Worksheet_SelectionChange. ( à voir ... )

Il suffit de cliquer sur une cellule pour lancer la macro correspondante, avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [B2]) Is Nothing Then
        Macro1
    ElseIf Not Intersect(Target, [C2]) Is Nothing Then
        Macro2
    .....
    ElseIf Not Intersect(Target, [C11]) Is Nothing Then
        Macro10
    End If
Fin:
End Sub
Voir PJ
 

Pièces jointes

Bonjour à tous 🙂,

Pour saluer @sylvanu 😉 , un code pour lancer les macros :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Count > 1 Then Exit Sub
   If Not Intersect(Target, Range("B2,C3,B4,C5,B6,C7,B8,C9,B10,C11")) Is Nothing _
      Then Application.Run "macro" & Target.Row - 1
End Sub
 
Une autre approche simplissime est que la cellule cliquée contienne le nom de la macro.
On n'a donc plus besoin de toucher à Worksheet_SelectionChange en cas d'évolution :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    Application.Run Target.Value
Fin:
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 aide userform
Réponses
11
Affichages
775
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…