Créer "x" textbox dans un userform

Résolu
gusgus59 Messages postés 4 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 24 octobre 2008 - 24 oct. 2008 à 10:36
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 24 oct. 2008 à 20:30
Bonjour,

Alors je vous explique mon problème: Je souhaiterais créer "x" textbox dans un userform. "x" serait determiner grace à la soustraction d'une valeur correspond à ma ligne de fin et a une autre à ma ligne de début. pour chaque ligne je dois faire apparaître 3 textbox (NOM/PRENOM, FONCTION, OBSERVATION) et copier les valeur des lignes dans les text box correspondant.

En gros lorsque je selectionne une valeur dans le userform. Le programe va chercher la ligne de début et de fin correspondant à cette valeur soustrer les valeur trouver poru determiner le nombre de ligne à avoir puis afficher 3 textbox par ligne. Et pour finir copie les valeurs des ligne dans les text box. Je vous joint mon code, je n'arrive pas à faire apparaitre des textbox en faite.

Private Sub ComboBox1_Change()
    
    'recherche point de départ point d'arriver
  
    Feuil1.Activate
    i = 19
    While Range("E" &amp; i).Value <> UserForm4.ComboBox1.Value
        i = i + 1
    Wend
    pass = Range("B" &amp; i).Value
    If pass = "" Then
        Unload UserForm4
        Call UserForm4.initia
        UserForm4.Show
    Else
        Sheets(pass).Activate
    End If
        
    i = 6
    j = 6
    While Range("A" &amp; i).Value <> UserForm4.ComboBox1.Value
        i = i + 1
        j = j + 1
    Wend
    Do While Range("B" &amp; i + 1).Value = ""
        If Range("C" &amp; i).Value = "" Then
            Exit Do
        End If
    i = i + 1
    Loop
    
    'création de textbox
    
    Dim dist
    dist = 150
    
    For compt = 0 To i - j
        UserForm4.Controls.Add "vb.textbox", "Newbox", UserForm4
        With UserForm4!Newbox
            .Visible = True
            .Top = dist
            .Left = 150
            .Width = 2000
            .Height = 275
        End With
dist=
    Next compt
      
    
End Sub


merci d'avance

8 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 oct. 2008 à 10:46
Salut,
Regarde si cela peu t'aider

Dim Compt As Integer

   For Compt = 0 To 5
       With UserForm1.Controls.Add("Forms.textbox.1", "Textbox" & Compt, True)
           .Top = Compt * 50
           .Left = 150
           .Width = 200
           .Height = 50
       End With
   Next , ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 oct. 2008 à 11:28
Re,
Essaie peu être

'création de textbox
   taille = i - j
   dist = 50
 
   Dim Compt As Integer

   For Compt = 0 To taille
       With UserForm4.Controls.Add("Forms.textbox.1", "Textbox" & Compt, True)
           .Top = dist
           .Left = 5
           .Width = 110
           .Height = 15
       End With
       dist = dist + 15
       UserForm4.Controls("TextBox" & Compt).Value = Cells(j + Compt, "C")
  Next , ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
24 oct. 2008 à 20:30
Bonjour,

Me.Width = 450
Me.Height = 440
a+
3
gusgus59 Messages postés 4 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 11:11
Oui sa marche super les textbox apparaisse :)

Voila mon code

'création de textbox
    taille = i - j
    dist = 50
   
    Dim Compt As Integer


    For Compt = 0 To taille
        With UserForm4.Controls.Add("Forms.textbox.1", "Textbox" & Compt, True)
            .Top = dist
            .Left = 5
            .Width = 110
            .Height = 15
        End With
        dist = dist + 15
        UserForm4.TextBox(Compt).Value = Cells(j + Compt, "C")
   Next

En insérant la ligne en rouge je pensais qu'il me copierais dans la textbox la valeur de ma cellule a chaque fois qu'il créerais une textbox mais il me fait un erreur je pense que c'est du au (compt).

et j'ai une petite question aussi comment faire pour effacer les textbox? pour que quand je change de valeur dans mon combobox le nombre de textbox soit remi a jour

merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
24 oct. 2008 à 12:00
Bonjour,

pourquoi ne pas utiliser une msflexgrid ???

a+
0
gusgus59 Messages postés 4 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 14:13
Merci, Jrivet sa marche parfaitement. J'ai mis 3 compteurs au total pour afficher mes 3 textbox par ligne. Mon soucis suivant est quand je change de valeur dans la combobox les textbox ne s'actualise pas. Par exemple si j'ai 6 ligne la première fois et que j'en est 3 la deuxieme. Les 6 ligne de textbox reste afficher et en plus de cela les données ne se copie pas. Si tu as des pistes pour moi je veux bien. Sinon un grand merci et une bonne continuation.

Si tu pouvais m'expliquer la différence gillard avec msflexgrid? c'est une commande que je ne connais pas
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
24 oct. 2008 à 14:42
Bonjour,

click droit sur la boite à outils => contrôles suplémentaires 
cela te donnera une liste des contrôles  utilisables
choisis Microsoft MsFlexGrid

a+
0
gusgus59 Messages postés 4 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 20:22
Est-il possible de modifier la taille d'un userform avec du code? par exemple je voudrais que mon userform fasse la taille du nombre de ligne de textbox que j'insère c'est réalisable ou la taille est non modifiable a partir d'un code?
0
Rejoignez-nous