IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

création d'une aide personnalisée [XL-97]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut création d'une aide personnalisée
    Bonjour,

    je vais créer une aide personnalisée en pdf pour chacunes des boites de dialogue de mon application.

    Est il possible de mettre un point d'interrogation cliquable à côté de la croix?

    Comment ouvrir cette aide en appuyant sur la touche F1?

    Je ne sais pas utiliser "HelpContextID"

    Merci

    Eric

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    J'ai trouvé un tutos sur le site, il pourra peut être t'aider.

    http://thierryaim.developpez.com/tut...?page=sommaire

  3. #3
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    Merci

    je viens de suivre le tuto et de créer une aide fictive pour mon application. Je n'arrive pas à l'intégrer dans le code VBA. De plus l'exemple du tuto ne fonctionne pas avec excel 97 (pb enum).

    Je vais donc créer un pdf et utiliser le code de ouskel' n'or pour lancer celui ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
     
    Sub Ouvrir()
    Dim Chemin as string, NomFich as string
        Chemin = "D:\Mes docs pdf\"
        NomFich = "Le fichier.pdf"
        ShellExecute 0, "", Chemin & NomFich, "", "", 0
    End Sub
    Il est certain que j'aurai préféré la solution du tuto.

    Merci encore

    Eric

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Pour le raccourci sur F1 ce n'est pas possible (réservé par excel), mais tu peu faire un raccourci sur Ctrl+F1 et lier à ta Sub Ouvrir
    A+

  5. #5
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    J'ai trouvé un nouveau tuto qui me permet de mieux gèrer les fichiers hlp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.help "chemin du fichier d'aide", 100 'identificateur
    Est t -il possible de mettre un icone dans la barre du haut des userform?

    Merci
    Eric

  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Tu peux effectivement créer une aide pro pour tes USF en .hpj et .rtf (Windows Helworkshop) qui sera accessible dans l’USF via le point d’interrogation ou la touche F1 (de façon native).

    Pour cela il faut créer le fichier d’aide et paramétrer de la façon suivante :

    Dans les propriétés de ton USF, mettre :

    WhatsThisButton à True => affichage du ? dans la barre
    WhatsThisHelp à True => provoquera l’affichage de ton aide dans un Pop-up relatif au contrôle ayant le focus.
    (vois l’aide vba pour ces propriétés)

    Pour une aide générale de ton appli, là il faut faire un fichier .chm (en HTML) et tu peux alors dériver l’action de la touche F1 à ton profit de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "{F1}"
    End Sub
     
    Private Sub Workbook_Open()
    Application.OnKey "{F1}", "Aide"
    End Sub
     
    Sub Aide()
    Dim BB As String
    BB = Shell("C:\Windows\hh.exe E:\Home DVD\Notice Active\Chm\Bear3G.chm", 1)
    End Sub

    cordialement,

    Didier

  7. #7
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    Merci pour ces informations

    J'ai l'impression que cela ne fonctionne qu'avec une application visible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.visible= true

    Peux tu me le confirmer ou me l'infirmer STP?

    Mon utilitaire est un assistant qui gère des demandes de dépannages d'agences au niveau départemental. Ces demandes sont centralisées ensuite au siège. Le classeur excel ne doit jamais être visible aux utilisateurs.

    Eric

  8. #8
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    bonsoir,

    J'ai l'impression que cela ne fonctionne qu'avec une application visible.
    Pas testé, les applis concernées à mon niveau sont protégées / feuilles, mais visibles.

    Je testerai (pas ce soir) et je donnerai le résultat...

    PS : Sinon en appli pro avec instance Excel cachée, je procède souvent avec des aides contextuelles qui s'affichent dans une textbox spécifique des USF selon l'action en cours. Approche directe tentée vu que les utilisateurs avaient plus le réflexe de t'appeler que de consulter l'aide (fastidieuse à créer), d'où le non test de la méthode évoquée.

    cordialement,

    Didier

  9. #9
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Suite test ce matin,

    De mon côté, pas de problème si l'instance d'Excel concernée est cachée, l'aide dans les USF fonctionne normalement.

    cordialement,

    Didier

  10. #10
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    Encore merci

    je viens de refaire le test. Cela ne me donne pas malheureusement l'effet escompté. La touche F1 n'est pas opérationnelle sur la userform quand excel est invisible(sous excel 97?)

    Si tu veux bien le tester. Je mets en PJ le classeur que j'utilise et le fichier d'aide à mettre sous c.


    Merci
    Eric

  11. #11
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Une suggestion, donc : au lieu de rendre les "choses" invisibles, réduis-les ... (le résultat visuel sera presque le même, mais la "disponibilité" restera entière).

  12. #12
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    Je l'ai envisagé. Mais cette solution apporte d'autres inconvénients. Je pense finir par créer un label sur chaque userform qui aura pour "caption" un point d'interrogation. Ce label lancera un shell (mon aide) par un clic. J'espère pouvoir faire mieux mais...


    Merci à tous

    Eric

  13. #13
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Pour de multiples raisons, je n'ouvre pas les PJ sur ce poste, d'autre part un non fonctionnement peut provenir d'un code différent (appli bien moins stable en mode caché..).

    Je met donc en PJ une version très édulcorée d'une vieille appli récréative dont les aides sont complètes. OK excel 2000, 2003, 2007.(pas versions + anciennes pour tester), donc si pas OK sur 97, c'est que 97 est incompatible...

    Il faut mettre le dossier Notice Active dans C: ou changer le chemin dans le code..

    il y a l'aide sur les USF et l'aide générale via F1 sur le classeur, il y a aussi un "pont" entre les deux que tu peux activer en prenant le ? et en le cliquant sur une zone quelconque des USF (hors boutons).

    Pour l'instance cachée, il faut revalider la ligne dans le Workbook_Open


    Ps : Sinon 100% OK avec ucfoutu, il n'est pas difficile de faire remonter une instance cachée "à la surface", même par accident , vois commentaires :

    http://www.developpez.net/forums/d78...ecutant-excel/

    cordialement,

    Didier
    Fichiers attachés Fichiers attachés

  14. #14
    Membre régulier
    Profil pro
    Pôle Etude et Automatisation
    Inscrit en
    Avril 2007
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pôle Etude et Automatisation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2007
    Messages : 166
    Points : 100
    Points
    100
    Par défaut
    Merci pour ce classeur

    Je viens de tester ton classeur sur excel 97 cela fonctionne parfaitement . Je vais l'étudier pour bien le comprendre. Mon problème est donc résolu.

    A charge de revanche

    Trés cordialement

    Eric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une aide (chm, hlp, etc.)
    Par JuTs dans le forum Windows
    Réponses: 2
    Dernier message: 12/12/2007, 22h46
  2. Création d'une aide à l'utilisation
    Par flagadda dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/10/2007, 15h57
  3. [Formulaire]Intégration d'une aide personnalisée
    Par christrabin dans le forum IHM
    Réponses: 6
    Dernier message: 07/09/2007, 18h59
  4. Intégration d'une aide personnalisée
    Par jmde dans le forum Access
    Réponses: 8
    Dernier message: 07/01/2007, 13h24
  5. Réponses: 4
    Dernier message: 03/10/2006, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo