Boucle avec User Form pour renseigner le nom d'un élève

Bonjour à tous,

Novice du VBA j'ai concu une interface permettant d'évaluer des élèves de 6ème sur un 25m crawl en natation. L'ensemble de mes programmes sont fonctionnels mais je bloque à un moment. J'ai créer une user form afin que l'élève puisse indiquer son nom:

Private Sub CommandButton1_Click()

Range("p4") = TextBox1.Value 'Le nom

Unload UserForm1

End Sub

Private Sub UserForm_Click()

End Sub

Pas de problème le programme fonctionne et affiche le nom dans la cellule P4 de mon tableau.

Mon problème est que je veux créer une sorte de boucle qui permettrait de renseigner la cellule suivante P5 (et P6, P7, P8.....) en rappuyant sur mon unique bouton.

Est-il possible de concevoir une telle boucle avec les User Form ??

Merci pour vos réponses !!!!

Bonsoir,

remplacez "Range("P4") par un Range "variable" qui serait variable au niveau du numéro de ligne, pour cela il y a une instruction qui cherche la dernière cellule non vide d'une colonne, il suffit alors d'y ajouter 1 et vous avez le numéro de la ligne à remplir !

@ bientôt

LouReeD

Merci pour votre réponse.

Quand je met un range plus "variable" du genre ("p4:p23") cela me remplit toute ma colonne ce qui est logique. Or, je ne trouve pas la formule qui permet de passer à la cellule en dessous une fois que celle du dessus est renseigné...

Bonjour,

en mettant "P4:P23" vous ne rendez pas la plage variable... C'est une plage plus grande mais toujours écrite en dur...

Pour connaître la dernière ligne "non vide" d'une colonne (la A par exemple) :
DerLigne = Range("A" & Rows.Count).xlEnd(Up).Row

Du coup le numéro de ligne est bien une variable puisque calculé, il ne reste plus qu'à rendre votre Range variable grâce à elle :
Range("P" & DerLigne + 1) = TextBox1.Value 'Le nom
le +1 sert à aller sur la première ligne "vide" de la colonne vu que la formule donne la dernière "non vide".

ou si vous ne voulez pas passer par une variable supplémentaire comme ici DerLigne, remplacez DerLigne par la formule :
Range("P" & Range("A" & Rows.Count).xlEnd(Up).Row + 1) = TextBox1.Value

@ bientôt

LouReeD

Rechercher des sujets similaires à "boucle user form renseigner nom eleve"