Créer dynamiquement des Textboxes

J'ai des soucis avec les codes VBA ci-dessous:

1° La valeur saisie dans les Textbox créés dynamiquement dans un formulaire (à chaque click d'un bouton "CommandButton") s'effacent à chaque fois que le Textbox suivant est créé (à chaque click dudit bouton "CommandButton"). En gros, à chaque click les Textbox se vident.

2° Comment faire pour récupérer les valeurs saisies dans les Textbox créés dynamiquement afin de les faire apparaître dans une liste déroulante placée sur une feuille de calcul Excel.

Merci.

Voici le code cité plus haut:

Private Sub CommandButton6_Click()

    Dim M As Integer
    Dim NomTextBox As Single
    Dim nouvelleTextBox As Control
    Dim nouveauLabel As Control
    Dim nouvelleCheckBox As Control
    Dim nouvelleTextBox2 As Control
    Dim nouvelleTextBox3 As Control
    Dim i As Integer

MajCompteur

M = Range("COMPTEUR_CLICK").Value

For i = 1 To M + 1

    Set nouveauLabel = UserForm1.MultiPage2.Pages(2).Controls.Add("forms.Label.1", "ACTIONNAIRE" & i + 4, True)
        With nouveauLabel
            .Name = "ACTIONNAIRE" & i + 30
            .Left = 12
            .Top = 408 + i * 42
            .Width = 78
            .Height = 18
            .Caption = "ACTIONNAIRE" & " " & i + 10
            .FontBold = True
        End With

    Set nouvelleTextBox = UserForm1.MultiPage2.Pages(2).Controls.Add("forms.TextBox.1") ' ajout d'une nouvelle TextBox dans le UserForm
        With nouvelleTextBox
            .Name = "TextBox" & i + 30
            .Left = 102
            .Top = 402 + i * 42
            .Width = 360
            .Height = 34.5
            .Text = Worksheets("Source Actionnaires").Cells(i, 2)
        End With

    Set nouvelleCheckBox = UserForm1.MultiPage2.Pages(2).Controls.Add("forms.CheckBox.1") ' ajout d'une nouvelle CheckBox dans le UserForm
        With nouvelleCheckBox 'propriétés de la nouvelle CheckBox
            .Name = "CheckBox" & i + 30 'nom de la forme : CheckBox x
            .Left = 474 'positionnement sur l'axe des abscisses
            .Top = 414 + i * 40 'positionnement sur l'axe des ordonnées (seule caractér tique variable dans l'exemple)
            .Width = 85.5 'largeur
            .Height = 17.25 'hauteur
            .Caption = "Personne Morale"
        End With

    Set nouvelleTextBox2 = UserForm1.MultiPage2.Pages(2).Controls.Add("forms.TextBox.1") ' ajout d'une nouvelle TextBox dans le UserForm
        With nouvelleTextBox2 'propriétés de la nouvelle TextBox
            .Name = "TextBox" & i + 98 'nom de la forme : TextBox x
            .Left = 576 'positionnement sur l'axe des abscisses
            .Top = 408 + i * 42  'positionnement sur l'axe des ordonnées (seule caractéristique variable dans l'exemple)
            .Width = 144 'largeur
            .Height = 20.25 'hauteur
        End With

    Set nouvelleTextBox3 = UserForm1.MultiPage2.Pages(2).Controls.Add("forms.TextBox.1") ' ajout d'une nouvelle TextBox dans le UserForm
        With nouvelleTextBox3 'propriétés de la nouvelle TextBox
            .Name = "TextBox" & i + 200 'nom de la forme : TextBox x
            .Left = 726 'positionnement sur l'axe des abscisses
            .Top = 408 + i * 42  'positionnement sur l'axe des ordonnées (seule caractéristique variable dans l'exemple)
            .Width = 144 'largeur
            .Height = 20.25 'hauteur
        End With

   Next i

End Sub

En sus, voilà le fichier Excel en question

Bonjour,

Sympathique !!! Un machin qui s'ouvre, remplit l'écran et qu'il faut extirper à la hussarde... !

Commence par désactiver ça !

Désactiver quoi ? le formulaire ? les macros? ...?

Ya juste à flinguer le Workbook_Open...

Rechercher des sujets similaires à "creer dynamiquement textboxes"