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 :

Lancer un fichier d'aide .chm avec Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Lancer un fichier d'aide .chm avec Excel
    Bonjour.
    Je travaille avec Windows XP Pro SP2 NTFS et Excel 2003 (j’ai ajouté NTFS car après la lecture des 3 pages sur le problème de Pierre Fauconnier sur le forum :
    http://www.developpez.net/forums/sho...light=aide+chm
    je ne pense pas être en mesure de trouver une réponse au mien. Ca me parait bien compliqué !) Je me lance tout de même…

    J’ai réussi à réaliser un fichier d’aide :
    Aide.chm
    grâce aux tutos trouvés sur ce site, que j’ai mis dans le chemin :
    C:\Travail\Doc\Aide.chm
    Par contre je n’arrive pas à trouver le moyen de le rattacher à mon classeur
    Classeur2.xls
    de telle manière qu’il s’affiche lorsque j’appui sur la touche F1 ou, si c’est plus simple, l’ouvrir avec un bouton incorporé à ma barre d’outils perso.
    Le classeur se trouve en :
    C:\Travail\Classeur2.xls
    Merci pour vos réponses.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    j'espere que ces infos pourront t'aider


    http://thierryaim.developpez.com/tutoriel/chm/





    Utiliser un fichier d'aide (.chm) personnel dans Excel :
    *****************************************
    Testé avec Excel2002 & WinXP

    3 exemples pour utiliser ces fichiers d'aide par macro :



    1. Utiliser la constante vbMsgBoxHelpButton (Qui ajoute le bouton Aide) dans les Msgbox :
    -------------------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MsgBox "Message", vbMsgBoxHelpButton, , C:\Documents and Settings\michel\FichierAide.chm, 1
     
    '(1 correspond au premier ContextID du fichier d'aide)


    2. Utiliser l'API HtmlHelp :
    -------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Option Explicit
    Public Const HH_HELP_CONTEXT = &HF
    Public Const HH_DISPLAY_TOPIC = &H0
     
    Public Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _
    (ByVal lhwndCaller As Long, ByVal sFileName As String, _
    ByVal lCommand As Long, ByVal lData As Any) As Long
     
    Sub utiliserAidePerso()
    'testé avec Excel2002 & WinXP
    Dim Fichier As String
     
    Fichier = "C:\Documents and Settings\michel\dossier\FichierAide.chm"
    Call HtmlHelp(0, Fichier, HH_DISPLAY_TOPIC, "notice9.htm")
    End Sub



    3.Utiliser la fonction Shell :
    ------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Fichier As String
    Fichier = "C:\Documents and Settings\michel\dossier\FichierAide.chm"
    Shell "hh.exe " & Fichier, vbNormalFocus

    pour ouvrir sur un item spécifique de l'aide , nommé notice9.htm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Shell _
    "hh.exe mk:@MSITStore:C:\Documents and Settings\michel\dossier\FichierAide.chm::/notice9.htm", _
    vbNormalFocus




    Des informations complémentaires sur le site Microsoft :
    -------------------------------------------------------

    http://support.microsoft.com/default...%3Bfr%3B209843

    http://www.microsoft.com/technet/pro....mspx?mfr=true





    bonne soirée
    michel

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Le meilleur résultat que j’ai obtenu c’est avec ce code :


    Option Explicit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Public Const HH_HELP_CONTEXT = &HF
    Public Const HH_DISPLAY_TOPIC = &H0
     
    Public Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _
    (ByVal lhwndCaller As Long, ByVal sFileName As String, _
    ByVal lCommand As Long, ByVal lData As Any) As Long
     
    Sub utiliserAidePerso()
    'testé avec Excel2002 & WinXP
    Dim Fichier As String
     
    Fichier = "C:\Travail\Doc\Aide.chm"
    Call HtmlHelp(0, Fichier, HH_DISPLAY_TOPIC, "notice9.htm")
    End Sub

    J’ai rattaché à un bouton
    utiliserAidePerso
    Le fichier s’ouvre c’est OK il ne me manque que la page d’intro qui ne s’affiche pas.
    C’est déjà bien.

    Je suis sur la bonne voie, je vais essayer de pinailler tout ça !

    Bonsoir et merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    J’y suis arrivé !
    Voici ce qui marche chez moi.
    Config :
    Windows XP Pro + SP2 type de fichiers : NTFS ; Excel 2003

    Fichier d’aide réalisé avec HTML Help Workshop Fr 4.74, en français que vous pouvez télécharger à cette adresse :
    http://www.toutfr.com/?p=programs_show&wid=723

    Le nom de mon fichier d’aide : Aide.chm
    Qui se trouve dans le répertoire : C:\Travail\Doc\
    Ce qui nous donne : C:\Travail\Doc\ Aide.chm
    Le nom de mon classeur Excel : Classeur2.xls
    Qui se trouve dans le répertoire : C:\Travail\
    Ce qui nous donne : C:\Travail\Classeur2.xls

    Il faut mettre dans un module standard :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Declare Function ShellExecute Lib "shell32.dll" Alias _
         "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As _
         String, ByVal lpszFile As String, ByVal lpszParams As String, _
         ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
     
    Public Const Aide = "C:\Travail\Doc\Aide.chm"
     
    Sub LancerChm()
       ShellExecute 0, "open", Aide, vbNullString, vbNullString, 1
    End Sub

    J’ai créé une barre d’outil perso sur laquelle un bouton lance l’ouverture du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub CreerBarOutil()
    'crée une barre d'outils perso avec 3 boutons
     
    Application.ScreenUpdating = False
     
    Toolbars.Add Name:="MesMacros"	'nom de la barre d’outils
    Toolbars("MesMacros").Visible = True
     
    Set BarOutil = Toolbars("MesMacros").ToolbarButtons
    BarOutil.Add Button:=217, Before:=1, OnAction:="PositionCurseur", Enabled:=True, Pushed:=False
    BarOutil(1).Name = "Position Date"	
     
    Set BarOutil = Toolbars("MesMacros").ToolbarButtons
    BarOutil.Add Button:=230, Before:=1, OnAction:="EnvoiClasseurAd", Enabled:=True, Pushed:=False
    BarOutil(1).Name = "Envoi Mail"
     
    Set BarOutil = Toolbars("MesMacros").ToolbarButtons
    BarOutil.Add Button:=219, Before:=1, OnAction:="LancerChm", Enabled:=True, Pushed:=False
    BarOutil(1).Name = "Aide"		'c’est ce bouton qui lance le fichier d’aide
     
    Set BarOutil = Nothing
     
    'Positionnement de la barre d'outils
    With Toolbars("MesMacros")
    .Left = 450
    .Top = 10
    .Width = 120
    End With
    End Sub

    Pour supprimer cette barre d’outils perso à la fermeture du classeur j’utilise en « auto_close() »


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub SupprimeBarOutil()
    On Error Resume Next
    Toolbars("MesMacros").Delete
    End Sub

    Voila, tout est fonctionnel chez moi grâce à ce forum dans lequel j’ai puisé toutes ces ressources.
    Merci à tous.

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

Discussions similaires

  1. Création d'un fichier d'aide chm avec HelpNdoc et intégration à Delphi
    Par gaby277 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 26/02/2014, 15h26
  2. ouvrir un fichier d'aide chm depuis Excel
    Par soubichat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2009, 15h31
  3. Lancer un fichier d'Aide .chm
    Par vladvad dans le forum C#
    Réponses: 5
    Dernier message: 27/07/2007, 03h29
  4. Lire et décoder un fichier d'aide CHM
    Par bob2553 dans le forum Outils
    Réponses: 6
    Dernier message: 22/06/2005, 19h21
  5. Réponses: 3
    Dernier message: 09/06/2005, 17h19

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