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 :

Conversion des données des cellules d'un fichier Excel en HTML


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut Conversion des données des cellules d'un fichier Excel en HTML
    Je tente depuis plusieurs jours de trouver un moyen de convertir le formatage (gras, couleur, italique...) de l'intégralité des cellules d'un document en html. J'ai donc cherché une macro qui permettrait de convertir, cellule par cellule, son contenu en code html. J'ai trouvé un code ici : [URL="https://social.msdn.microsoft.com/Forums/en-US/626a351a-de17-4389-9ad6-a2be20ce2fd9/convert-contents-of-a-formatted-excel-cell-to-html-format"] mais je ne parviens pas à le faire fonctionner. En particulier, je ne comprends pas où placer la ligne "End sub" car si on la place à la fin, l'exécution de la macro échoue et indique qu'il manque cette ligne "End Sub"

    Je vous serais très reconnaissant si vous pouviez m'aider à réussir à faire fonctionner ce petit macro, car elle me serait extrêmement utile pour mes études.

    html.xlsm

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par ABROLLET1602 Voir le message
    En particulier, je ne comprends pas où placer la ligne "End sub" car si on la place à la fin, l'exécution de la macro échoue et indique qu'il manque cette ligne "End Sub"
    Le lien que tu donnes utilise des fonctions qui se terminent par 'End Function'
    Il te faut donc les intégrer dans ton code à toi, peut-être dans une événementielle comme 'Change' pour formater la cellule modifiée.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut
    Merci pour votre réponse. J'ai essayé de créer une macro évènementielle et d'y intégrer mon code mais j'ai toujours le même message d'erreur.

    Je ne voudrais pas abuser de votre temps évidemment mais peut-être que la solution est simple pour quelqu'un qui a plus de recul sur la création de macros (ce n'est clairement pas mon domaine de prédilection, je suis étudiant en santé...)

    Je joins à ce message là où j'en suis. Je ne sais pas si cela peut aider. Je veux bien faire l'effort de comprendre le principe néanmoins !

    Captures : https://i.imgur.com/ymeGXQM.png
    https://i.imgur.com/KAHeIeZ.png

    Convert to html.xlsm

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonsoir,
    Citation Envoyé par ABROLLET1602 Voir le message
    Je joins à ce message là où j'en suis. Je ne sais pas si cela peut aider. Je veux bien faire l'effort de comprendre le principe néanmoins !
    Une macro évènementielle doit être structurée comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.CountLarge = 1 And Not Intersect(Target, Range("A:A")) Is Nothing Then
            Target = fnConvert2HTML(Target)
        End If
    End Sub
    Ainsi tu vas traiter la cellule que tu modifies en colonne A (F2 + Entrée)
    Si cela fonctionne, mais j'en doute car je ne sais pas ce que doivent faire tes fonctions, pour traiter toutes tes cellules tu peux le faire avec cette procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub conv_html()
    Dim cel As Range
        For Each cel In ActiveSheet.UsedRange.Cells
            If cel.Value <> "" Then cel = fnConvert2HTML(cel)
        Next cel
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2021
    Messages : 3
    Par défaut
    Je vous suis extrêmement reconnaissant pour toutes vos explications ! Je comprends mieux la logique maintenant. J'ai réussi à faire fonctionner le code comme je le souhaitais.

    C'est quelque chose que je vais utiliser tous les jours dans le cadre de mes études donc merci du fond du cœur !!

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/01/2012, 13h38
  2. Réponses: 0
    Dernier message: 17/03/2011, 21h42
  3. Copier des cellules de 2 fichiers excels
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/06/2008, 11h28
  4. copier des cellules de 2 fichiers Excel identiques
    Par Fab2008 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/06/2008, 23h05

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