AGORAPUBLIX

Agorapublix, c'est quoi ? => Boîte à idées / Boîte à questions => Discussion démarrée par: hpchavaz le Juillet 17, 2017, 03:45:21 PM

Titre: Conversion d'une sélection Excel pour le forum
Posté par: hpchavaz le Juillet 17, 2017, 03:45:21 PM
Pour ceux qui de temps à autres ont des sélections sous Excel qu'ils voudraient transférer sur le forum, voici le morceau de code que j'utilise :

Public Sub SelectionToBBCode()

    Dim sel As Range
    Dim c As Range
    Dim strOutput As String
    Dim pre As String
    Dim post As String
   
    Set sel = Application.Selection
   
    'Table begins
    strOutput = "[table]"
   
    For Each c In sel.Cells
       
        'if row begins
        If c.Column = 1 Then
            strOutput = strOutput & Chr(13) & "[tr]"
        End If
       
        pre = ""
        post = ""
       
        If IsNumeric(c) Or IsDate(c) Then
            pre = pre & "[right]"
            post = "[/right]" & post
        End If
       
        If c.Font.Bold Then
            pre = pre & "[b]"
            post = "[/b]" & post
        End If
       
        If c.Font.Italic Then
            pre = pre & "[i]"
            post = "[/i]" & post
        End If
       
        strOutput = strOutput & "[td]" & pre & c.text & post & "[/td]"
       
        'if row ends
        If c.Column = sel.Columns.Count Then
            strOutput = strOutput & "[/tr]"
        End If
    Next
    ' Table ends
    strOutput = strOutput & Chr(13) & "[/table]"
   
    ' copyToClipBoard
    Dim x As DataObject: Set x = New DataObject
    x.SetText strOutput
    x.PutInClipboard
End Sub
Titre: Re : Conversion d'une sélection Excel pour le forum
Posté par: Ponta le Juillet 17, 2017, 05:02:58 PM
Merci, c'est gentil.

Pouvez-vous expliciter davantage au profane que je suis ? :)
Titre: Re : Conversion d'une sélection Excel pour le forum
Posté par: hpchavaz le Juillet 17, 2017, 05:50:53 PM
Processus

on installe la macro par exemple dans le classeur personnel par défaut "personal.xlsm"
on selectionne sous excel dans le ficheir source
on lance la macro
on récupère dans le presse-papier un bbcode correspondant peu ou prou à la sélection



Exemple bbcode de

(https://www.dropbox.com/s/lyjhycncqt13uvo/55-45.jpg)

PrixQualité
Pondération
55%
45%
OffresPrixNote PrixNote QualitéNote globale
O1
100
1,00
0,00
0,55
O2
550
0,18
1,00
0,55

est le suivant :

[table]
[tr][td][right][/right][/td][td][right][/right][/td][td][b]Prix[/b][/td][td][b]Qualité[/b][/td][td][right][/right][/td][/tr]
[tr][td][right][/right][/td][td][b]Pondération[/b][/td][td][right][i]55%[/i][/right][/td][td][right][i]45%[/i][/right][/td][td][right][/right][/td][/tr]
[tr][td][b]Offres[/b][/td][td][b]Prix[/b][/td][td][b]Note Prix[/b][/td][td][b]Note Qualité[/b][/td][td][b]Note globale[/b][/td][/tr]
[tr][td][b]O1[/b][/td][td][right]100[/right][/td][td][right]1,00[/right][/td][td][right]0,00[/right][/td][td][right]0,55[/right][/td][/tr]
[tr][td][b]O2[/b][/td][td][right]550[/right][/td][td][right]0,18[/right][/td][td][right]1,00[/right][/td][td][right]0,55[/right][/td][/tr]
[/table]