none
Création dynamique de textbox RRS feed

  • Question

  • Bonjour, Je suis plus que nouvelle dans le visual basic( notion de base vue au cours).

    Et la mon patron vient de me demander de creer un fichier word dynamique. (word2010)

    J'ai donc vu qu'il existait un onglet programmeur et que grace à ca je pouvais acceder a compilateur vb.

    la tache que je dois affectuer parrait simple.

    JE dois ajouter 4 textbox au clique d'un bouton

    et au clique d'un autre bouton supprimer je dois supprimer les 4 dernière

    A l'ajout les texbox doivent avoir la mm dimension et doivent etre séparer par des espace pour occuper toute la largeur de la feuille ..

    Bien sur je n'ai aucune idée de la manière dont je dois procédé, ça fait 2 heure que je cherche sur internet et aucune solution

    ... un tit coup de pouce sera le bienvenue

    mardi 28 août 2012 12:07

Toutes les réponses

  • Bonjour,

    Ce n'est pas très compliqué... Tu peux utiliser une boucle de 1 à 4 et écrire :

    For i as Integer = 1 to 4
        Dim MyTextBox as New Textbox
        MyTextBox.Name = "xxx"
        MytextBox.Left = distance au côté gauche
        MyTextBox.Top = distance au haut
        MyTextBox.Width = largeur
        MyTextBox.Height = hauteur
        maForm.Controls.Add (MyTextBox)
    Next

    Pour connaitre les bonnes valeurs de Left, Top, Width et Height, il suffit de créer les textbox en Design Mode et d'interroger leurs propriétés. Mais il faut aussi que les valeurs de Left et Top soient différentes pour chaque TextBox, sinon elles vont se chevaucher toutes les 4 !

    Bonne chance!



    mardi 28 août 2012 17:09
  • oui merci je vais certainement posé une bete question mais quel est le nom de ma form vu que je programme sous word 2010 je n'ai pas de form proprement parler

    mes compossant sont mis sur mon document word directement.

    et ausii je suppose que pour la suppression il s'agit d'un maform . contrils . delete (textbox) ?

    mercii d'avance

    mercredi 29 août 2012 07:24
  • Je n'avais pas compris que tu programmes en VBA.

    Il existe un forum spécialisé pour la programmation avec Microsoft Office : http://social.msdn.microsoft.com/Forums/fr-FR/vsto/threads

    Le code que je t'ai donné fonctionne pour un programme Visual Basic dans Visual Studio. Je ne suis pas sûr qu'il fonctionne dans Word...

    mercredi 29 août 2012 10:36
  • Bonjour SarahChou,

    Dans un premier temps il faut déterminer où doivent être placés les TextBox :

    • Sur le document lui même ?
    • Sur un UserForm ?

    Où doivent se trouver les boutons ?

    Si les TextBox doivent être placés sur le document, de quelle nature doivent-ils être :

    • Formulaires hérités (Zone d'édition)
    • Contrôles ActiveX (Zone de Texte)

    Dans le dernier cas, une piste :

    Option Explicit
    
    Dim tb(0 To 3) As InlineShape
    
    Private Sub CommandButton1_Click()
      Dim p As Paragraph
      Dim r As Range
      Dim i As Integer
      
      Set p = Paragraphs.Add
      Set r = Range(Paragraphs(Paragraphs.Count).Range.Start, _
                    Paragraphs(Paragraphs.Count).Range.End)
      r.Select
      
      For i = 0 To 3
        Set tb(i) = Selection.InlineShapes.AddOLEControl("Forms.TextBox.1")
      Next i
    End Sub

    Mais VBA Word n'est pas vraiment fait pour ça. Un autre forum pour VBA


    Cordialement, Jacques


    • Modifié Jacques93 mercredi 29 août 2012 13:20 Rédaction
    mercredi 29 août 2012 13:16