Autres textbox en séries...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AlainProviste

XLDnaute Nouveau
Bonjour,

Dans ma feuille de calcul j'ai 3 colonnes (ABC ) de valeurs numériques sur une plage de 100.
Je souhaiterais que ces colonnes soient envoyées à l'identique dans 100 textbox .
Dans une autre cas j'ai utilisé le code ci dessous pour une colonne mais je ne parviens pas à faire de même pour 3 colonnes.

Dim x as integer
For x = 1 To 100
Me.Controls("Textbox1" & x).Value = Sheets("FEUIL1").Range("B" & x).Value
Next x

Merci par avance de m'apporter votre aide.
 

Pièces jointes

Solution
il faut Créer un bouton commande dans l'Userform1
Coller ce code :
Code:
Private Sub CommandButton1_Click()
    Macro4
End Sub

Modifier le code Macro4 : UserForm1.Show
VB:
Sub Macro4()
Dim x, y, cpt As Integer
cpt = 1
With Sheets("FEUIL1")
For x = 1 To 8 ' Nombre de Lignes 9, 10, 11, 12 Ect  (Pour une Ligne = 3 TextBox)
    For y = 1 To 3
        UserForm1.Controls("Textbox" & cpt).Value = .Range(.Cells(x + 1, y), .Cells(x + 1, y)).Value
        Debug.Print UserForm1.Controls("Textbox" & cpt).Value
        cpt = cpt + 1
    Next y
Next x
End With
x = Empty: y = Empty: cpt = Empty
End Sub

Puis choisir a qu'elle moment vous lancer l'affichage de l'userform1 (Ou placer le code)
Code:
Public sub...
Bonjour,

Dans ma feuille de calcul j'ai 3 colonnes (ABC ) de valeurs numériques sur une plage de 100.
Je souhaiterais que ces colonnes soient envoyées à l'identique dans 100 textbox .
Dans une autre cas j'ai utilisé le code ci dessous pour une colonne mais je ne parviens pas à faire de même pour 3 colonnes.

Dim x as integer
For x = 1 To 100
Me.Controls("Textbox1" & x).Value = Sheets("FEUIL1").Range("B" & x).Value
Next x

Merci par avance de m'apporter votre aide.
bonsoir, retire le 1 à la fin de textbox1
VB:
Me.Controls("Textbox" & x).Value = Sheets("FEUIL1").Range("B" & x).Value
 
Bonsoir @AlainProviste, @cp4

VB:
Sub Macro4()
Dim x, y, cpt As Integer
cpt = 1
With Sheets("FEUIL1")
For x = 1 To 8 ' Nombre de Lignes 9, 10, 11, 12 Ect  (Pour une Ligne = 3 TextBox)
    For y = 1 To 3
        UserForm1.Controls("Textbox" & cpt).Value = .Range(.Cells(x + 1, y), .Cells(x + 1, y)).Value
        Debug.Print UserForm1.Controls("Textbox" & cpt).Value
        cpt = cpt + 1
    Next y
Next x
End With
UserForm1.Show
x = Empty: y = Empty: cpt = Empty
End Sub
 
Merci Laurent950 ta macro fonctionne à merveille. Cependant j'ai omis de préciser dans ma question que je souhaitais actionner la "macro4 avec un bouton de commande sur mon userform. J'ai tenté de le faire mais j'obtiens le message d'erreur 401="Feuille déjà affichée ; affichage modal impossible." comment remédier à cette erreur ?
 
je souhaitais actionner la "macro4 avec un bouton de commande sur mon userform.
il faut Créer un bouton commande dans l'Userform1
Coller ce code :
Code:
Private Sub CommandButton1_Click()
    Macro4
End Sub

Modifier le code Macro4 : UserForm1.Show
VB:
Sub Macro4()
Dim x, y, cpt As Integer
cpt = 1
With Sheets("FEUIL1")
For x = 1 To 8 ' Nombre de Lignes 9, 10, 11, 12 Ect  (Pour une Ligne = 3 TextBox)
    For y = 1 To 3
        UserForm1.Controls("Textbox" & cpt).Value = .Range(.Cells(x + 1, y), .Cells(x + 1, y)).Value
        Debug.Print UserForm1.Controls("Textbox" & cpt).Value
        cpt = cpt + 1
    Next y
Next x
End With
x = Empty: y = Empty: cpt = Empty
End Sub

Puis choisir a qu'elle moment vous lancer l'affichage de l'userform1 (Ou placer le code)
Code:
Public sub AfficheUserform1()
  Me.Show
End Sub
 
il faut Créer un bouton commande dans l'Userform1
Coller ce code :
Code:
Private Sub CommandButton1_Click()
    Macro4
End Sub

Modifier le code Macro4 : UserForm1.Show
VB:
Sub Macro4()
Dim x, y, cpt As Integer
cpt = 1
With Sheets("FEUIL1")
For x = 1 To 8 ' Nombre de Lignes 9, 10, 11, 12 Ect  (Pour une Ligne = 3 TextBox)
    For y = 1 To 3
        UserForm1.Controls("Textbox" & cpt).Value = .Range(.Cells(x + 1, y), .Cells(x + 1, y)).Value
        Debug.Print UserForm1.Controls("Textbox" & cpt).Value
        cpt = cpt + 1
    Next y
Next x
End With
x = Empty: y = Empty: cpt = Empty
End Sub

Puis choisir a qu'elle moment vous lancer l'affichage de l'userform1 (Ou placer le code)
Code:
Public sub AfficheUserform1()
  Me.Show
End Sub
Excellent ! merci beaucoup et désolé pour mes lacunes mais vous l'aviez compris je ne maitrise pas vraiment le VBA. Bonne soirée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
834
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Réponses
1
Affichages
607
Retour