[VB] Faire un tableau avec un Richtextbox...

Bin voila il faudrait qu'a partir d'un CommandButton, l'utilisateur
puisse créer un tableau dans mon RichTextBox... Il me semble
que cela est possible en se servant d'excel mais je n'ai pas trouvé
comment...

Si quelqu'un peut m'aider...

2 réponses

  1. ;-))

    Déjà, tu ne dis pas si c'est du VB pur ou du VBA... ;-)

    Si c'est du VB pur, moi, je serais toi, j'oublierais le RichTextBox et je penserais plutôt à un DataGrid, qui est vraiment dédié aux tableaux de données, bien plus simple à mettre en oeuvre (ligne/cellule)...

    Sinon, tu peux piloter ce que tu veux à partir de n'importe quelle appli possédant le noyau VB/VBA (Office ou VB). Donc, rien ne t'empêche non plus d'ouvrir une session excel en dynamique et de créer une feuille....

    Mais bon, c'est un peu court, ton post, pour te filer une soluce claire et nette..... ;-))))

    Faudrait détailler... ;-))

    Tel quel, pour répondre, je dirais qu'il te faut, sans parler de l'analyse des longueur de chaînes, jouer avec les codes ASCII (TAB) pour créer ton "tableau" dans ta RichTextBox, histoire d'avoir un visuel "tableau", mais c'est, a mon avis, pas le bon contrôle à utiliser...

    ;-)))

    Wild and Free
    0
    1. Alors c'est du VB, et j'utilise du RichTextBox car il ne faut pas que
      je puisse utiliser juste des tableaux, je dois pouvoir (deja fait) changer la police, la taille, le style, faire des puces, afficher des images, convertir en HTML... Donc pour tout ca j'ai trouver que le RichText etait le mieux approprier.

      Mais si tu pense que je dois utiliser un autre contrôle, n'hesite pas a me faire part de tes idées...
      0
      1. Bon voila j'ai trouvé ceci

        Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ch As String
        ch = tableaurtf(5, 5, 300)
        richTextBox1.Rtf = ch
        End Sub

        Function tableaurtf(ByVal nbcol As Integer, ByVal nbligne As Integer, ByVal largeur As Integer) As String
        Dim i, j As Integer
        Dim result As String
        result = "{\rtf1\trowd"
        For i = 1 To nbcol
        result = result + "\cellx" + (i * (2000 + largeur)).ToString
        Next
        For j = 1 To nbligne
        result = result + "\intbl"
        For i = 1 To nbcol
        result = result + "\cell"
        Next
        result = result + "\row"
        Next
        result = result + "}"
        Debug.Print(result)
        Return result
        End Function
        0