Generer hypertext en url bbcode

  • Initiateur de la discussion Initiateur de la discussion quentin2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Q

quentin2

Guest
Bonsoir,
Ayant besoin de faire de gros tableaux pour des forums phpbb, j'ai récupéré un script permettant de générer un tableau bbcode, j'ai modifié le script pour l'adapter au bbcode du forum, mais par contre il faudrait que quand je mets un lien en texte il le génère en URL bbcode comme ci-dessous ...

Code:
[url="http://google.fr"]Google[/url]

Le script comprend déjà une option qui prend en charge les liens hypertextes uniquement, pas possible de nommer le lien comme ont veux étant donné qu'il se génère après dans :

Code:
[url]lien./html[/url]

Je pense qu'il n’y a pas grand-chose à faire, mais je débute avec Excel donc si quelqu'un pouvait m'aider ce serait bien sympa 😉 J'ai mis en pièce jointe le fichier en question afin que vous puissiez regarder.

Merci d'avance
 

Pièces jointes

Re : Generer hypertext en url bbcode

Bonjour et bienvenue sur le forum,

Voici ta macro modifiée et l'exemple de résultat:

Code:
Sub ToBBcode(ByVal epaisseur As Integer, ByVal couleur As String)
Dim x As Integer, xmax As Integer
Dim y As Integer, ymax As Integer
Dim i As Integer, j As Integer
Dim countCell As Integer
Dim bbCode As Variant
Dim value As String
Dim firstLigne As String
    bbCode = "[table]" & vbCrLf
    xmax = Range("A1").End(xlDown).Row    'lignes
    ymax = Range("A1").End(xlToRight).Column    'colonnes
    countCell = x * y
    x = 0
    y = 0
    
    For i = 1 To xmax
        'bbCode = bbCode & "[tr]"
        If i = 0 Then
            firstLigne = "[tr=bg1]"
        Else
            firstLigne = "[tr=bg1]"
        End If
        bbCode = bbCode & firstLigne
        '[url="[URL]http://google.fr"]Google[/url[/URL]]
        For j = 1 To ymax
            With Cells(i, j) 'travailler sur la cellule
                If .Hyperlinks.Count = 0 Then 'Si elle ne comporte pas de lien
                    bbCode = bbCode & "[td=1,]" & .value & "[/td]"
                Else
                    bbCode = bbCode & "[td=1,][url=" & .Hyperlinks(1).Address & "]" & .value & "[/url][/td]"
                End If
            End With
        Next j
        bbCode = bbCode & "[/tr]" & vbCrLf
    Next i
    bbCode = bbCode & "[/table]"
    Set mydata = New DataObject
    mydata.setText bbCode
    mydata.putinclipboard
    'Range("A10").PasteSpecial xlPasteAll
End Sub

P.S. value est un mot réservé (une propriété d'objet) par vba, vaut mieux l'éviter de l'utiliser en nom de variable.

Tableau résultat:
Galaxy 1
Galaxy
Galaxy
gfgfgfgf
Galaxy 2
Galaxy
Galaxy
gfgfgfgf
Galaxy 3
Galaxy
Galaxy
gfgfgfgf
Galaxy 4
Galaxy
Galaxy
gfgfgfgf
fgfgfgffg
fff
cvcvcv
gfgfgfgf
Optimus L3
gf
gf
gfgfgfgf

A+
 
Re : Generer hypertext en url bbcode

Salut,

Merci c'est parfait et pour la note j'ai peu de connaissances en VBA donc je ne savais pas 😉 Sinon est t-il posible de rajouter une fonction pour supprimer les espaces une fois que tu génère le code ?

Tu obtient :

Code:
[table]
[tr=bg1][td=1,]Galaxy 1[/td][td=1,]Galaxy [/td][td=1,]Galaxy [/td][td=1,]gfgfgfgf[/td][/tr]
[tr=bg1][td=1,]Galaxy 2[/td][td=1,]Galaxy [/td][td=1,]Galaxy [/td][td=1,]gfgfgfgf[/td][/tr]
[tr=bg1][td=1,]Galaxy 3[/td][td=1,]Galaxy [/td][td=1,]Galaxy [/td][td=1,]gfgfgfgf[/td][/tr]
[tr=bg1][td=1,]Galaxy 4[/td][td=1,]Galaxy [/td][td=1,]Galaxy [/td][td=1,]gfgfgfgf[/td][/tr]
[tr=bg1][td=1,]fgfgfgffg[/td][td=1,]fff[/td][td=1,]cvcvcv[/td][td=1,]gfgfgfgf[/td][/tr]
[tr=bg1][td=1,][url=http://www.androidgen.fr/forums/archos-101xs-t7583.html?uid=408050]Optimus L3[/url][/td][td=1,]gf[/td][td=1,]gf[/td][td=1,]gfgfgfgf[/td][/tr]
[/table]

Il faudrait qu'il y est aucuns espaces sinon ça pose soucis sur le forum ou je poste les tableaux 😉


J'ai aussi une autre question, il y a une balise permettant de mettre un titre au tableau, est t-il possible de crée une fonction pour l'utiliser uniquement pour un titre ?

Code:
[table][tr=][th=4]Titre[/th][/tr]

Voila le bbcode qui me permet de crée le titre

Merci d'avance
 
Re : Generer hypertext en url bbcode

Bonsoir,


En ce qui concerne les espaces, vois dans l'aide excel la fonction vb 'Replace'.
Pour le reste il suffit de faire une concaténation de chaine de caractère avec le signe '&'

Code:
bbCode= "[table][tr=][th=4]" & Titre & "[/th][/tr]"

A+
 
Re : Generer hypertext en url bbcode

J'ai regardé pour la fonction, mais je n'ai pas réussi a en faire quelques chose étant débutant, je n'ai pas trouvé dedans quelques chose me permettant de supprimer les espaces ....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

K
Réponses
1
Affichages
1 K
K
Réponses
6
Affichages
1 K
V
Réponses
8
Affichages
3 K
valentin75
V
K
Réponses
1
Affichages
885
kikou017
K
S
Réponses
2
Affichages
516
S
K
Réponses
2
Affichages
2 K
koodbook
K
Retour