cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012
-
5 mai 2011 à 09:30
cs_jonathanm44
Messages postés13Date d'inscriptionjeudi 10 mars 2011StatutMembreDernière intervention28 février 2012
-
10 mai 2011 à 15:36
Bonjour a tout le forum,
Voila je me dirrige vers vous car j'ai un problème avec une application que je souhaiterais créer.
Avec un UserForm et une seule textbox je souhaiterais rentré environ 60 valeurs. Ces valeurs, je voudrais les récupérer dans une seule colonne.
J'ai commencé un début de code mais quand je rentre une valeur, elle se répète 60 fois.
Voici le code :
Private Sub TextBox1_Change()
compteur = 3
If compteur <> 50 Then
For i = 1 To 50
Worksheets("Feuil3").Cells(2 + compteur, 3) = UserForm1.TextBox1.Value
compteur = compteur + 1
Next
End If
End Sub
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 5 mai 2011 à 10:17
Salut,
je n'ai pas bien compris la demande.
Qu'est-ce que tu entends par "rentrer 60 valeurs" ?
C'est quel type de valeur (int, string ...) ?
Tu les rentres une par une en faisant Entrée ?
Tu les rentres toutes, séparées par des espaces/points-virgules/pipe ?
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 5 mai 2011 à 10:42
D'accord donc ton but est de saisir l'une après l'autre une 60aine de float, puis de les insérer dans une colonne d'une Feuille Excel.
Mais alors pourquoi faire une boucle dans ton code ? Car tu ne devrais traiter qu'une valeur à la fois. Ou alors il faut enregistrer toutes les valeurs dans un tableau intermédiaire puis le parcourir pour remplir ton Excel.
Par contre t'es pas sur le bon event. Là à chaque saisie d'un caractère l'évènement est lancé. En pseudo-code voilà comment je verrais les choses :
EVENT_TEXTBOX_KEYPRESS {
// on regarde si l'utilisateur valide la valeur en faisant Entrée
SI KEY = ENTER {
// on vérifie le bon format de la valeur
SI TEXTBOX.VALUE REPRESENTE UN FLOAT {
INSERT TEXTBOX.VALUE DANS EXCEL A L'INDEX (2 + compteur, 3)
INCREMENTE compteur
}
}
}