Répartir 32 textbox par ligne de 4

Résolu/Fermé
pagesalex - 28 juin 2018 à 10:20
yg_be
Messages postés
19283
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 mai 2022
- 29 juin 2018 à 20:25
Bonjour,

J'ai 32 textbox je voudrais que le texte que je rentre dedans se répartisse comme suit

TB1 / TB2 / TB3 / VIDE / TB4
TB5 / TB6/ TB7 / VIDE / TB8
[...]
TB29 / TB30 /TB31 / VIDE / TB 32


Si vous avez une idée quelconque merci beaucoup ! :)

1 réponse

J'ai un debut qui ne fonctionne pas encore :
Private Sub CommandButton2_Click()
L = Worksheets("Fiche Famille").Range("A65536").End(xlUp).Row + 1
MsgBox (L)

'Select Case Cells(aj, 19)

'Case 1
'Worksheets("Fiche Famille").Cells(L = Me.Controls("TextBox" & nf).Value
aj = ajoutmf.ListIndex + 4
f = Cells(aj, 19) - 1
'For L = L To L + f - 1
For k = 1 To 29 '4 * f + 1 '/ f * 8
Worksheets("Fiche Famille").Cells(L, 1) = ajoutmf
Worksheets("Fiche Famille").Cells(L, 2) = Me.Controls("TextBox" & k).Value
Worksheets("Fiche Famille").Cells(L, 3) = Me.Controls("TextBox" & k + 1).Value
Worksheets("Fiche Famille").Cells(L, 4) = Me.Controls("TextBox" & k + 2).Value
Worksheets("Fiche Famille").Cells(L, 6) = Me.Controls("TextBox" & k + 3).Value

k = k + 3

L = L + 1
end sub
0
yg_be
Messages postés
19283
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 mai 2022
1 101
Modifié le 28 juin 2018 à 21:45
bonjour, je crois deviner que tu veux que le contenu des textboxes soit réparti sur différentes cellules: c'est bien cela?
si oui, pourquoi ne pas commencer par faire ainsi:
- ajouter "option explicit" en début de module, et donc déclarer toutes tes variables
- utiliser une nouvelle variable comme indice de boucle (donc pas utiliser L, déjà utilisé pour autre chose)
- faire une boucle par ligne
- à la fin de la ligne, ajouter 4 à l'indice utilisé pour les TextBox

fais cela, teste-le, et tiens-nous au courant, en partageant ton code amélioré.
0
merci de votre aide j'ai trouvé une solution je vous joins le code
Private Sub CommandButton2_Click()

Dim t As Integer


L = Worksheets("Fiche Famille").Range("A65536").End(xlUp).Row + 1
aj = ajoutmf.ListIndex + 4
f = Cells(aj, 19)
q = (Cells(aj, 19).Value * 3 - 1)
For t = L To f - 1
Worksheets("Fiche Famille").Cells(t, 1) = ajoutmf
For k = 1 To q
Worksheets("Fiche Famille").Cells(t, 1) = ajoutmf
Worksheets("Fiche Famille").Cells(t, 2) = Me.Controls("TextBox" & k).Value
Worksheets("Fiche Famille").Cells(t, 3) = Me.Controls("TextBox" & k + 1).Value
Worksheets("Fiche Famille").Cells(t, 4) = Me.Controls("TextBox" & k + 2).Value
Worksheets("Fiche Famille").Cells(t, 6) = Me.Controls("TextBox" & k + 3).Value

k = k + 3

t = t + 1
Next
Next

End Sub
0
yg_be
Messages postés
19283
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 mai 2022
1 101 > pagesalex
29 juin 2018 à 10:04
suggestion:
For t = L To f - 1 step 2
For k = 1 To q step 4
0
Merci du coup j'enleve le k = k + 3 et je mets step ?
0
yg_be
Messages postés
19283
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 mai 2022
1 101 > pagesalex
29 juin 2018 à 20:25
oui, et idem pour t.
0