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

SaGeK -  
 iblsysteme -
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. WhiteFang Messages postés 2063 Statut Membre 204
     
    ;-))

    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
  2. SaGeK
     
    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. iblsysteme
       
      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