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 :

Creation d'un fichier HTML avec AVEC


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Par défaut Creation d'un fichier HTML avec AVEC
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub File_HTML()
     
    Dim Texte_fichier_HTML As String
    Texte_fichier_HTML = "<html> ........texte du fichier html...</html> "
     
     
    ' 1. comment ecrire le texte sur un nouveau fichier et l'enregistrer sous le nom :  file.html ?
    ' 2. comment ouvrire le fichier avec Internet explorer ?
     
     
    End Sub
    En plus des questions sur le code j'ai des questions consernant "html":
    en fait dans le fichier html je crée des zones de saisie


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html>
    <head>
    <title>Configuration de l'outil</title>
    </head>
    <body bgcolor="#FFFFFF" scroll="no">
     
    <form name="TestForm">
    <h3><center>Configuration de l'outil</center></h3><hr>                     
    Champs de saisie 1: <input type="text" size="10" name="autre"><br>
    Champs de saisie 2: <input type="integer" size="10" name="autre"><br>
     
    </form> 
    </body>
    </html>
    Comment je pourrais récupérer les valeurs qui ont été saisies sur la page html et les stoker ensuite dans des variables dans la macro?

    Merci d'avance.

  2. #2
    Expert confirmé

    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
    Par défaut
    bonsoir

    Tu peux tester cette macro pour créer et afficher une page html


    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
    30
    Sub CreationPageHTML()
        Dim xFile As Integer
        Dim S1 As String, S2 As String
     
        S1 = "http://office.developpez.com/"
        S2 = "http://www.developpez.com/template/logo.gif"
     
        xFile = FreeFile
        Open "C:\CreationPage.html" For Output As xFile
     
            Print #xFile, "<HTML>"
            Print #xFile, "<HEAD>"
            Print #xFile, "<TITLE>Essai</TITLE>"
            Print #xFile, "</HEAD>"
     
            Print #xFile, ""
            Print #xFile, "<BODY TEXT=""#000000"" >"
            Print #xFile, "<A href='" & S1 & "'>Le site Developpez.com</A>"
            Print #xFile, "<BR><BR>"
     
            Print #xFile, "<A href='" & S1 & "'" & "><IMG WIDTH=234 HEIGHT=103 SRC='" & S2 & "'></a>"
     
            Print #xFile, "<BR><BR>"
            Print #xFile, "</BODY>"
            Print #xFile, "</HTML>"
        Close xFile
     
        ThisWorkbook.FollowHyperlink "C:\CreationPage.html"
     
    End Sub


    michel

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Par défaut
    Bonjour SilkyRoad,

    Pour la création et l'ouverture de la page HTML c'est parfait.

    Sinon mon deuxième problème: Je me sert de cette page pour permettre à l'utilisateur de la macro d'initialiser les variables avec les valeurs qu'il souhaite et pour cela j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Champs de saisie 1: <input type="text" size="10" name="autre"><br>
    Comment récuperer les valeurs de saisie et les stoker dans des variables de la macro ?

    Comment ajouter un bouton "OK" dans la page html qui valide les saisies et ferme la page html ?

    Merci pour votre aide.

  4. #4
    Expert confirmé

    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
    Par défaut
    bonsoir

    Je n'ai pas bien compris l'intérèt (ce serait plus simple de passer par un UserForm), mais pour le fun tu peux tester cette procédure qui crée une page html dynamiquement et gère l'evenement Click du bouton depuis un module de classe, et récupère le contenu du champ de saisie.


    Dans un module standard:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Option Explicit
     
    Public Collect As Collection
    Public MaVariable As String
     
     
    Sub Test()
        Dim xFile As Integer
        Dim Cl As Classe1
        Dim LaPage As Object
     
        xFile = FreeFile
     
        Open "C:\CreationPage.html" For Output As xFile
            Print #xFile, "<HTML>"
            Print #xFile, "<HEAD>"
            Print #xFile, "<TITLE>Ma page de saisie</TITLE>"
            Print #xFile, "</HEAD>"
     
            Print #xFile, "<FORM>" & _
                "<input type='text' size='10' name='autre'><br>" & _
                "<INPUT type=button name='Bouton1' value='Validez'>" & _
                "</FORM>" & _
                "</BODY></HTML>"
            Print #xFile, "</BODY>"
            Print #xFile, "</HTML>"
        Close xFile
     
     
        Set Collect = New Collection
        Set LaPage = CreateObject("InternetExplorer.Application")
     
        Set Cl = New Classe1
        Set Cl.IE = LaPage
        Collect.Add Cl
     
        With LaPage
            .AddressBar = False
            .MenuBar = False
            .StatusBar = False
            .Toolbar = False
            .Visible = True
            .Width = 400
            .Height = 300
            .navigate "C:\CreationPage.html"
     
            Do Until .readyState = 4
                DoEvents
            Loop 'attend la fin du chargement
        End With
     
    End Sub


    Dans un module de classe nommé Classe1
    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
    Option Explicit
     
    Public WithEvents IE As InternetExplorer
    Dim WithEvents Bouton As HTMLInputElement
    Dim MaPageHtml As HTMLDocument
     
     
    Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Set MaPageHtml = IE.document
     
        'pour cet exemple le bouton est le 2eme objet "input" de la page... Item(1)
        Set Bouton = MaPageHtml.getElementsByTagName("input").Item(1)
    End Sub
     
     
    Private Function Bouton_onclick() As Boolean
        'Récupère le contenu de la zone de saisie dans la page html
        MaVariable = MaPageHtml.getElementsByTagName("input").Item(0).Value
     
        MsgBox MaVariable
        IE.Quit
    End Function


    bonne soirée
    michel

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Par défaut
    En fait dans ma macro, l'utilisateur entre le nombre de parametres qu'il va utiliser et en suite il va saisir la valeur de chaque parametre. Je voulait éviter le passage par des InputBox (lents: si l'utilisateur choisit 10 ou 15 parametres il aura l'apparition de10 ou15 InputBox). Et comme je ne savai pas comment generer UserForm dynamique (je sais seulement le creer à la sourie), j'ai donc penser à créer tous les champs de saisie sur une page HTML.
    voila.

    sinon je teste ton code et je te tient au courant.
    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 46
    Par défaut
    En fait j'ai un problème avec les types déclarés dans la classe.

    le problème est avec ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public WithEvents IE As InternetExplorer
    Dim WithEvents Bouton As HTMLInputElement
    Dim MaPageHtml As HTMLDocument
    l'erreur affichée est une erreur de compilation : type défini par l'utilisateur non défini!!!

    Est ce il faut charger quelque chose en plus et comment le faire??

Discussions similaires

  1. Fichiers html Compilés avec Html help Workshop
    Par Ohmitch dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/12/2008, 09h28
  2. Creation d'un fichier XML avec ASP encoder en UTF-8
    Par freeze_land dans le forum ASP
    Réponses: 6
    Dernier message: 14/02/2007, 10h59
  3. [SQL] Modifier un fichier HTML statique en cache avec rename()
    Par warpyou dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/09/2006, 10h32
  4. Creation d'un fichier txt avec le resultat d'une requete
    Par christ-94 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/09/2006, 11h00
  5. génrer fichier html avec template
    Par ramir dans le forum Langage
    Réponses: 5
    Dernier message: 19/10/2005, 13h30

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