Aide en ligne

Comment utliser le bouton aide qui apparait sur un MsgBos ?

La syntaxe officielle des messagebox est la suivante :
Msgbox(prompt[,Buttons],[,title][,Helpfile,contexte])
Lorsque l'on écrit au hasard par exemple:
MsgBox "allez l'Om!", vbMsgBoxHelpButton, "On les aura"
apparait un msgbox avec un bouton "Ok" et un bouton "Aide".

Attention, ce bouton ne te permet pas de créer ton propre fichier d'aide mais il te permet d'afficher une rubrique d'aide d'excel par son N° de référence.
Un classeur de Ron de Bruin téléchargeable te permet de récupérer la liste de ces rubriques d'aides, pour excel 97 ou 2000/2002. Son fichier est bilingue Anglais et... Hollandais.
Voici la traduction de son texte de présentation :
"Sur la feuille menu, vous trouverez toutes les fonctions triées par catégories en anglais et en hollandais. Les lignes vertes correspondent aux fontions qui sont dans les macros complémentaires de l'utilitaire d'analyse.
Sélectionnez une cellule et appuyez sur le bouton "show help". Ceci appelle la fenêtre d'aide d'excel et affiche la description de la fonction dont le nom est dans la ligne active.
Vous trouverez plus d'information sur le site de John Walkenbach : http://www.j-walk.com/ss/excel/tips/tip85.htm Ron de Bruin"
A quoi ceci peut-il servir ??? Imaginons que dans ton appli, il soit nécessaire que l'utilisateur donne un nom à une plage de cellules pour appliquer une fonction particulière. Si tu veux montrer la rubrique d'aide associée tu peux utiliser cette syntaxe :(pour excel 2002)

sub ShowHelp()
Application.Help Application.Path & "C6\XLMAIN10.CHM", 5201527
end sub

Le "contextID", 5201527, tu ne peux le récupérer que grace au classeur de Ron.
Pour retrouver plus facilement dedans le nom que tu cherches ("name" par exemple) utilise la fonction rechercher d'excel... Si tu veux afficher un MsgBox qui appelle la fenêtre d'aide (ouverte à la bonne page) tu peux aussi utiliser cette syntaxe :

sub AidezMoi()
msg = "voulez vous de l'aide ?"
boutons = vbMsgBoxHelpButton
titre = "Aide sur la fonction"
HelpFile = Application.Path & "C6\XLMAIN10.CHM"
Context = 5201527
A = MsgBox(msg, boutons, titre, HelpFile, Context)
end sub

Comment créer son propre fichier d'aide ? Il y a deux formats de fichiers possibles : WinHelp avec l'extension .hlp ou aide HTML (qui devient le standard de microsoft) avec l'extension .chm.
Ce n'est pas si simple de créer ces fichiers. Il vaut mieux utiliser une application spécifique pour cela. J. Walkenbach recommande RoboHelp (http://www.blue-sky.com).
Ceci s'applique également si vous voulez documenter vos fonctions personnalisées comme si elles étaient natives dans excel. Pour proposer une aide en ligne sans se lancer dans ces méthodes "officielles", il reste plusieurs possibilités :
- Utiliser les commentaires des cellules pour préciser par exemple quel type de valeur doit être entré.
- utiliser une feuille masquée du classeur et s'y référer en l'affichant au fur et à mesure des besoins
- Créer un MsgBox ou un userform spécialisé. Des contrôles de type liste ou toupie permettent de faire défiler les rubriques d'aide.
- Utiliser les possiblités prévues dans excel et VBA : par exemple chaque contrôle de userform et chaque userform lui même, peut avoir un sujet d'aide associé. Regardez l'aide sur WhatsThisButton : si cette propriété est mise sur true, le userform affiche le point d'interrogation dans sa barre de titre qui permet d'obtenir de l'aide concernant les contrôles. Dans ce cas, si la propriété de WhatsThisHelp est sur true, l'aide fournie pour chaque contrôle s'affiche dans une petite fenêtre instantanée. Traduction Flo Cabon


Ce mois-ci sur Excelabo

- Pas de nouvelle page.
- Pas de page modifiée