Créer une boucle

Bonjour

je suis nouveau sur le forum et dans le domaine du VBA.

je souhaiterais remplir un colonne cellule par cellule

en utilisé les données de ma textbox1

On m'a dis qu'il fallait crée une boucle.

Voilà mon code

Private Sub CommandButton1_Click()

With Worksheets("TBT")

For Each Ctrl In UserForm1.Controls

Range("A6").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A7").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A8").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A9").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A10").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A11").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A12").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A13").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A14").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A15").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A16").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A17").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A18").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A19").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A20").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A21").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A22").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A23").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A24").Select

ActiveCell.FormulaR1C1 = TextBox1

Range("A25").Select

ActiveCell.FormulaR1C1 = TextBox1

Next

End With

End Sub

Private Sub TextBox1_Change()

End Sub

Je vous remercie de venir en aide aux débutant que je suis

Hello,

Comme ceci..

    Dim lign As Long

    For lign = 6 To 25
        Cells(lign, 1).Value = TextBox1.Value
        'Ou
        'Range("A" & lign).Value = TextBox1.Value
    Next lign

Donc là, il mettra la valeur de la TextBox1 dans A6:A25. C'est bien ce que tu veux ?

bonsoir,

dites moi, est ce que toutes les cellules prennent la valeur du textbox1 au clic ou alors à chaque nouveau clic, la cellule suivante prend la valeur du textbox1. Et puis quand à votre formulaire, il s'affiche à quel moment, pouvez vous mieux décrire ce que vous voulez faire et si possible joindre le fichier en question pour qu'on puisse vous aider rapidement?

sinon je vous proposerais le code suivant:

Private Sub CommandButton1_Click()

With Worksheets("TBT")

For I = 6 To 25

.Cells(I, 1) = UserForm1.TextBox1.Value

Next I

End With

End Sub

Tout d'abord merci pour votre réactivité

Je veux que qu'a chaque chaque fois que je valide

la cellule prenne la valeur de la textbox1 et pour passer à la cellule suivante.

Je veux mettre des valeurs numériques

Merci

j'ai deux solutions à vous proposer j'espère que ça vous donnera satisfaction:

La première: vous choisissez une cellule qui contiendra le dernier numéro de ligne occupé et à chaque fois l'incrémenter. dans mon exemple je choisis la cellule L11 ou encore cells(11,12) comme illustrer sur le code suivant:

[]With Worksheets("TBT")

a = .Cells(11, 12).Value + 1 'je prend la valeur de la cellue L11 que j'incrémente de un

.Cells(11, 12) = a 'ensuite j'attribue la valeur incrémentée à la cellule L11

.Cells(a, 1).Value = UserForm1.TextBox1.Value 'et à la ligne qui suit la valeur du textbox

End With[/]

La deuxième: vous créez une fonction dans le (module1 par exemple) qui recherche la ligne non utilisée et ça donne ceci:

dans module 1

Function recherche_ligne() As Integer
Ligne = 5
Do While Worksheets("TBT").Cells(Ligne, 1).Value <> ""
    Ligne = Ligne + 1
Loop
recherche_ligne = Ligne 'retourne la ligne non utilisée
End Function

et ensuite dans le code de votre bouton, ça donne ceci:

Private Sub CommandButton1_Click()
Worksheets("TBT").Cells(recherche_ligne, 1).Value = UserForm1.TextBox1.Value 'j'ai utilise directement la valeur de la fonction

End Sub

Merci à ceux qui ont répondu vous m'avez bien aidez

Bonjour,

un peu tard, mais une boucle n'est pas nécessaire :

Range("A6:A25") = TextBox1

eric

Rechercher des sujets similaires à "creer boucle"