Microsoft 365 Bouton pour afficher des aides

arnaud39

XLDnaute Nouveau
Bonjour,

Je souhaite mettre en place des boutons, et lorsqu'on clique dessus, un message d'aide apparait.

Par exemple, je clique sur les boutons #1, #2 ou #3 et un message spécifique s'affiche comme ci :

1655735564825.png

1655735602763.png


Merci pour votre aide !
 

Deadpool_CC

XLDnaute Accro
Bonjour,
Commence par créer une feuille "Aides" avec en colonne A ton ID d'aide équivalent au N° du libellé du bouton et en colonne B ton texte d'aide.
Ensuite tu nous poste le fichier d'exemple ... pour qu'on te fasse le VBA d'affichage d'un msgbox dynamique
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Arnaud,
Un essai en PJ.
L'avantage est qu'il n'y a qu'une macro pour tous les boutons, donc c'est plus simple à gérer, avec :
VB:
Sub AfficherHelp()
    On Error GoTo Fin
    'Message doit contenir la liste des messages dans l'ordre.
    'Le premier pour #1, le second pour #2 ....
    Message = Array( _
            "Ceci est le message 1", _
            "Ceci est le message 2", _
            "Ceci est le message 3", _
            "Ceci est le message 4", _
            "Ceci est le message 5" _
            )
    Titre = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text    ' Extrait le mot contenu dans le bouton
    Numéro = Val(Split(Titre, "#")(1))                                          ' Extrait le N° qui est dans le bouton
    MsgBox Message(Numéro - 1), , Titre                                         ' Affiche le message
Fin:
End Sub
 

Pièces jointes

  • Help.xlsm
    15.9 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je ne pensais pas que vous auriez autant de boutons, vous faites une allergie ? 😂

Alors utilisez cette méthode, vous n'avez plus de limites. (Mais changer le 100 en 200 s'il y en a plus que 100) :
VB:
Sub AfficherHelp()
    On Error GoTo Fin
    Dim Message(100)
    Message(1) = "Pour exemple, Ceci est le Message Numéro 1"
    Message(2) = "Pour exemple, Ceci est le Message Numéro 2"
    '....'
    Message(48) = "Pour exemple, Ceci est le Message Numéro 48"
    Message(49) = "Pour exemple, Ceci est le Message Numéro 49"
    Message(50) = "Pour exemple, Ceci est le Message Numéro 50"
    Titre = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text    ' Extrait le mot contenu dans le bouton
    Numéro = Val(Split(Titre, "#")(1))                                          ' Extrait le N° qui est dans le bouton
    MsgBox Message(Numéro), , Titre                                             ' Affiche le message
Fin:
End Sub
Envoyez moi votre Array Message en texte, je pourrais facilement vous le remettre en forme.
 

Pièces jointes

  • Help2.xlsm
    17.4 KB · Affichages: 2

soan

XLDnaute Barbatruc
Inactif
Bonjour arnaud39, sylvanu,

sur l'image du post #6 :

* il y a ce texte rouge : "NE MARCHE PLUS.")

* et sur la ligne juste au-dessus, devinez quoi ! 😄 oui, à droite de la ligne, tout au bout,
il manque justement un caractère souligné " _ " de continuation de ligne ! 😁

alors peut-être que le message d'erreur ne serait pas apparu ? :rolleyes:

soan
 

arnaud39

XLDnaute Nouveau
Oui, j'avais bien vu que le caractère était absent. Mais je n'arrivais pas à le mettre sans que le message apparaisse.

Je préfère de toute façon la 2éme solution proposée par sylvanu, pas de risque d'oubli de ce type de caractère justement !

Merci à vous !
 

VIARD

XLDnaute Impliqué
Bonjour Arnaud Sylvanu, Soan, DeadPool et à tous

Voici un exemple de ce que j'avais pu réaliser, non sans mal.
et là on peu allègrement dépasser les 50 messages, sans avoir besoin de 50 boutons
l'idée de la grenouille est bonne.

A+ Jean-Paul
 

Pièces jointes

  • Manip_Aide.xlsm
    26.5 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
312 890
Messages
2 093 349
Membres
105 696
dernier inscrit
FrancisR