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 :

Détecter du gras dans des cellules et ajouter des balises HTML [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ingénieure linguiste
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieure linguiste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Par défaut Détecter du gras dans des cellules et ajouter des balises HTML
    Bonjour à tous,

    Je souhaite créer une macro qui me permette de détecter des caractères en gras dans une cellule et de les remplacer en les entourant par des balises HTML.
    J'ai réussi la première partir, à savoir détecter les caractères en gras :

    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
     Sub Bold()
              Dim C&, Rg As Range, VA$()
     
         With Cells(1).CurrentRegion.Columns(1)
                 ReDim VA(1 To .Rows.Count, 0)
             For Each Rg In .Cells
                 For C = 1 To Len(Rg.Value)
                     If Rg.Characters(C, 1).Font.Bold Then
                          VA(Rg.Row, 0) = "YES"
                         Exit For
                     End If
                 Next
             Next
                 .Offset(, 1).Value = VA
         End With
     End Sub

    Pour le moment j'obtiens donc le mot "YES" dans une nouvelle colonne chaque fois qu'un caractères en gras est détecté.
    Ce que je voudrais faire maintenant, c'est qu'au lieu de m'afficher ce mot, les caractères en gras soient remplacés par des balises HTML, ainsi test deviendrait <b>test</b>, tout en gardant bien sûr le reste de ma cellule intacte.
    Et c'est là que ça pêche... Je débute en VBA, aussi je suis désolée pour ma naïveté, mais du coup je n'arrive pas à poursuivre ni à utiliser la fonction Replace...
    Quelqu'un peut-il m'aider ?

    Par avance merci

  2. #2
    Invité
    Invité(e)
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     VA(Rg.Row, 0) ="<b>" & VA(Rg.Row, 0) & "</b>"

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ingénieure linguiste
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieure linguiste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     VA(Rg.Row, 0) ="<b>" & VA(Rg.Row, 0) & "</b>"
    Merci, j'avais dans l'idée de faire ça aussi, mais je n'arrivais pas à afficher ma variable
    Mais du coup il ne m'affiche que les balises <b></b>...
    Et je voudrais en fait qu'il me remplace les caractères en gras avec des balises dans la cellule d'origine, en conservant les autres caractères qui ne sont pas en gras.

    Par exemple si dans ma cellule il y a :
    Je voudrais mettre des balises sur les caractères en gras

    Alors elle deviendrait :
    Je voudrais mettre des <b>balises</b> sur les caractères en gras...

    Est-ce que c'est plus clair ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    à oui ton tableau est vide donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VA(Rg.Row, 0) ="<b>" & Rg & "</b>"

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Ingénieure linguiste
    Inscrit en
    Décembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieure linguiste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2016
    Messages : 3
    Par défaut
    C'est parfait ! Merci beaucoup !

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par mrlt5 Voir le message
    J'ai réussi la première partir, à savoir détecter les caractères en gras
    Tu n'as rien réussi du tout, c'est juste ma démonstration reprise de l'autre forum ‼

  7. #7
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Mdr moi aussi je reconnais ta façon de coder

    mrlt5 il ne te reste plus qu'à citer l'auteur du code
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  8. #8
    Invité
    Invité(e)
    Par défaut
    Une faute de langage,une erreurs, un oubli,une amnésie tout au plus! Rien de grave enfin j'espère!

    Mais ça va être réglé.

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    si tu avais fait une recherche tu aurais trouvé dans les contributions grille to htmlet autre

    dans cette contribution tu y aurais trouvé une fonction "BYSPAN"

    qui te produit le code html d'une chaine de caractères dans une cellule pour la restituer a l'identique dans une page web(bold,couleur font syze,font name ect......
    bouton recherche avancée
    Nom : Capture.JPG
Affichages : 1104
Taille : 13,9 Ko

    voila ICI PAR EXEMPLE
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    et si je m'inspire de ma fonction pour juste formater les balises <b>
    on pourrais faire simplement ceci et tu pourrais meme avoir plusieur paries en gras separépar du texte au format normal

    demo
    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
    Function text_BYSPAN_format(c)
    For i = 1 To Len(c.Value)
    If b = False And c.Characters(Start:=i, Length:=1).Font.Bold Then
    texte = texte & "<b>" & Mid(c, i, 1)
    b = True
    ElseIf b = True And c.Characters(Start:=i, Length:=1).Font.Bold = False Then
    texte = texte & "</b>" & Mid(c, i, 1)
    b = False
    Else
    texte = texte & Mid(c, i, 1)
    End If
    Next
    text_BYSPAN_format = texte
    End Function
    Sub test()
    MsgBox text_BYSPAN_format([A1])
    End Sub
    Nom : Capture.JPG
Affichages : 1146
Taille : 188,2 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/12/2009, 10h14
  2. [DataGrid]Ajouter des cellules sans DataSource ?
    Par Filippo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/09/2007, 15h55
  3. Ecrire en gras dans une cellule
    Par ouardia dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2007, 12h05
  4. [JXL]Récupérer le texte en gras dans une cellule
    Par Kobee1203 dans le forum Documents
    Réponses: 2
    Dernier message: 28/10/2006, 15h27
  5. [POI] difficultés dans la mise en forme des cellules
    Par corbier32 dans le forum Documents
    Réponses: 2
    Dernier message: 03/05/2006, 09h48

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