Génération fichier html avec contenu

Bonjour à toutes et tous !

Je galère depuis ce matin, et ne trouvant pas de solution sur les divers forums que j'ai parcouru, j'implore votre aide !

j'ai développé un fichier excel à l'attention de mes collègues.

l'utilisation du fichier n'étant pas forcément ultra simple, j'ai ecrit un mode d'emploi.

Ce mode d'emploi, j'aimerai l’intégrer au fichier mais sans avoir à quitter la feuille de travail (ne pas avoir à switcher entre la feuille de travail et la feuille faisant apparaître le mode d'emploi)

Mon idée était donc de faire apparaître le mode d'emploi en cliquant sur un bouton qui serait situé quelque part sur la feuille de travail.

Mon souci, c'est qu'une message box bloque l'accès à la feuille de travail tant qu'on a pas cliqué sur "ok", et le but étant d'avoir le mode d'emploi toujours sous les yeux en même temps que la feuille de travail, ça ne convient donc pas (nous sommes tous équipés d'au moins 2 écrans).

J'ai donc pensé que le bouton pourrait servir à générer et ouvrir un fichier html dans lequel apparaîtrai le mode d'emploi (je me moque de savoir ce que l'utilisateur fera du fichier en question, car en le fermant, il pourra le sauvegarder ou non).

j'ai bien trouvé la commande permettant de créer le fichier html :

Sub ModeEmploi()

Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.CreateTextFile("C:\Users\ferrier\Desktop\ModeEmploi.html", True)

a.WriteLine ("Test.")

a.Close
End Sub

par contre, je ne trouve pas comment faire :

1 - pour intégrer le contenu du texte du mode d'emploi (dès que ça fait plus d'une ligne, ça marche plus...)

à moitié résolu : 2 - pour que le fichier s'ouvre tout seul

pouvez vous m'aider à avance ?

merci beaucoup !

julien

Edit :

j'ai trouvé comment ouvrir le fichier automatiquement, en utilisant cette fonction :

Call Shell("write.exe C:\Users\ferrier\Desktop\ModeEmploi.html", vbNormalFocus)

mais ça l'ouvre avec wordpad, je ne trouve pas l'executable pour qu'Edge ou internet explorer l'ouvre.

Wordpad me me convenir si je trouve un moyen de conserver la mise en forme que je veux...

Bon finalement j'ai contourné mon problème...

je tenais au format html pour conserver la mise en forme de mon texte, mais j'avais pas pensé à un truc tout bête... Excel exporte sans probleme une feuille en pdf !!! (ben oui, pourquoi j'y ai pas pensé...)

du coup, je sauvegarde en pdf la feuille sur laquelle j'ai ecrit mon mode d'emploi, et comme par défaut excel affiche le pdf ainsi obtenu, c'est parfait !

du coup, j'en ai profité pour ajouter une gestion d'erreur au cas ou le fichier serait déjà ouvert (sinon ça plante, logique)

Sub ModeEmploi()

'On Error Resume Next 'permet de ne pas faire planter la macro si le fichier est déjà ouvert
On Error GoTo erreur

Application.ScreenUpdating = False

Sheets("ModeEmploi").Visible = True
Sheets("ModeEmploi").Select

'exporte en pdf la feuille de mode d'emploi et l'affiche
Range("A1").Select
    ChDir "C:\Users\" & Environ("username") & "\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\" & Environ("username") & "\Desktop\ModeEmploi.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True

Sheets("ModeEmploi").Visible = False

Application.ScreenUpdating = True

Sheets("Tns").Select
Range("B3").Select

Exit Sub

erreur:
MsgBox "Le mode d'emploi est déjà ouvert"
Sheets("ModeEmploi").Visible = False

Application.ScreenUpdating = True

Sheets("Tns").Select
Range("B3").Select

End Sub
Rechercher des sujets similaires à "generation fichier html contenu"