Textbox1 à 6 en boucle ?

J

JCA06

Guest
Bonjour le Forum,

J'ai une nouvelle fois besoin de votre aide !

En tant que disciple de Thierry, j'ai une Userformite aigüe.
D'un coté, je vous rassure : si c'est aigüe, c'est pas grave !

Le problème, quand ça me prend, c'est que j'ai du mal à m'en sortir !

Voici ma dernière crise : pour aider à alimenter la plage B16:B19 dans laquelle on note le nombre d'enfants par classe d'age, j'ai créé un USF dans lequel on note l'age de chaque enfant dans les TextBox1 à TextBox6 (1er enfant, 2è, 3è,..). J'ai ajouté un bouton de validation qui incrémente les compteurs par classe d'age contenus dans un tableau (Tablo(0) à Tablo(3)) en fonction des valeurs des TextBox.

Voici une des nombreuses versions que j'ai essayées sans succès :

Private Sub CommandButton1_Click()

Dim i As Byte
Dim Ages As String
Dim C As Byte
Dim Tablo() As Variant

For i = 0 To 5
Ages = "Textbox" & (i + 1)
C = Ages.Value
Select Case C
Case 0 To 2
Tablo(0) = Tablo(0) + 1
Case 3 To 5
Tablo(1) = Tablo(1) + 1
Case 6 To 9
Tablo(2) = Tablo(2) + 1
Case Is >= 10
Tablo(3) = Tablo(3) + 1
End Select
Next i

Sheets("Simulation").Range("B16:B19").Value = Tablo

End Sub

Dans cette version, c'est le Ages.Value qui ne lui plait pas, mais j'ai aussi d'autres exemples qui ne fonctionnent pas !

Merci de bien vouloir m'aider une fois de plus.
 
J

JCA06

Guest
Oups, désolé, j'avais pas bien cherché !

C'est en cherchant un titre à mon post que j'ai en fait trouvé comment chercher !

Bon, j'y vais, à plus tard !

Il faut que je crée un nouveau code pour faire 100 lignes de "Je dois bien chercher avant de mettre un nouveau post" !!

Mais ça, je sais faire !

Désolé pour le dérangement, je cours voir le "controls(xxxx)"
 
@

@+Thierry

Guest
Hey JCA06 !! ça va te coûter une bière lol !!

Bonjour à toi et Re au Forum,

Par contre ton Tablo... Grrr Grrr aussi, il va falloir massacrer le poulailler entier en offrande aux Dieux VBA si tu veux avoir l'espoir que ça puisse passer !

Non en plus simple et sans tablo, mais en gardant ta structure voici un moyen, bien que je pense qu'il y ait plus simple...

Private Sub CommandButton1_Click()
Dim i As Byte
Dim Ages As Byte
Dim Bebe As Byte, PetitEnfant As Byte, Enfant As Byte, Adolescent As Byte

For i = 0 To 5
If Controls("TextBox" & i + 1) <> "" And IsNumeric(Controls("TextBox" & i + 1)) Then
Ages = Controls("Textbox" & (i + 1))
Select Case Ages
Case 0 To 2
Bebe = Bebe + 1
Case 3 To 5
PetitEnfant = PetitEnfant + 1
Case 6 To 9
Enfant = Enfant + 1
Case Is >= 10
Adolescent = Adolescent + 1
End Select
End If
Next i

With Sheets("Simulation")
.Range("B16").Value = "Nombre d'Enfant de 0 à 2 : " & Bebe
.Range("B17").Value = "Nombre d'Enfant de 3 à 5 : " & PetitEnfant
.Range("B18").Value = "Nombre d'Enfant de 6 à 9 : " & Enfant
.Range("B19").Value = "Nombre d'Enfant de + 10 : " & Adolescent
End With
End Sub

Bon Après Midi
@+Thierry
 
J

JCA06

Guest
Salut Thierry, Le Forum,

Désolé, je n'avais plus regardé les messages, j'ai encore eu une crise de Userformite aigüe !

Pour le tablo, j'avais imaginé qu'on pouvait copier directement les valeurs de mon tablo dans la plage ! Mais effectivement, excel était de ton avis (Grrr !) !

Je m'en suis tout de même servi et voici mon code final :

Private Sub CommandButton1_Click()

Dim i As Byte, j As Byte
Dim Ages As String
Dim C As Byte
Dim Tablo(3) As Variant

For i = 0 To 5
Ages = Controls("Textbox" & (i + 1))
Select Case Ages
Case 0 To 2
Tablo(0) = Tablo(0) + 1
Case 3 To 5
Tablo(1) = Tablo(1) + 1
Case 6 To 9
Tablo(2) = Tablo(2) + 1
Case Is > 9
Tablo(3) = Tablo(3) + 1
End Select
Next i

For j = 0 To 3
Sheets("Simulation").Range("B" & (16 + j)).Value = Tablo(j)
Next j

Unload UserForm3

End Sub

Bon d'accord, c'est pas du grand art, mais c'est moi qui l'ai fait !
Et depuis, j'ai aussi commencé le UserForm4 !

Je ne sais pas comment tu m'a refilé ta UserFormite : j'ai pas le souvenir que l'on se soit embrassé sur la bouche quand on s'est vu ! Et c'est pas deux bières et un Limoncello qui ont pu me faire oublier !

A bientôt !
 
S

salim

Guest
Bonsoir JCA06, @+Thierry, et le Forum


Alors JCA06 attention tu as l'air d'oublier d'ou il vient
smiley_590.gif
tu devrais le savoir depuis le temps en plus il met des messages subliminaux dans ses codes il faut les lire avec des lunettes pour eclipse.

@+ Salim
 
@

@+Thierry

Guest
Bonjour JCA, Salim, le Forum

Moi j'appelerai ça plutôt une forme de "tabloïdite aigüe", mais si ça marche et que çà te permet de t'entraîner tu peux mettre des tableaux partout, lol.

Par contre attention, les enfants de 10 ans et plus, tablo ou pas, ne passent pas dans les stats tel que tu conçoit le code... (compare avec le mien)

Bonne Journée (TGIF !)
@+Thierry
 
J

JCA06

Guest
Bonjour Thierry, le Forum,

Je ne suis pas encore allé boire le café, mais je ne vois pas de grande différence entre mon :
Case Is > 9
Tablo(3) = Tablo(3) + 1
Et ton :
Case Is >= 10
Adolescent = Adolescent + 1

Au fait, pour les poulets, j'ai trouvé une alternative ! Je les prend très jeunes, ce qui fait que c'est beaucoup plus pratique et discret pour les transporter ! En plus j'évite le problème difficile des recettes au poulet !

Par contre, tu aurais pas des recettes d'omelettes ?

A plus !
 
@

@+Thierry

Guest
Re Bonjour Jean Charles, Salim...

Pour ma remarque sur les cas d'enfant de 10 ans et plus Fais juste un essaie de ton programme en ne saisissant

&nbsp;&nbsp;&nbsp;TextBox1 => 5
&nbsp;&nbsp;&nbsp;TextBox2 => 5
&nbsp;&nbsp;&nbsp;TextBox3 => 5
&nbsp;&nbsp;&nbsp;TextBox4 => 10
&nbsp;&nbsp;&nbsp;TextBox5 => 1
&nbsp;&nbsp;&nbsp;TextBox6 => 1

En B16 tu as 3 (ok les 3 de 5)
En B17 tu as 3 (lol, c'est le nombre de bières que tu me dois mais si tu veux tu peux payer en poulets !! lol)



Bon Appétit, je vais faire un saut je pense à l'ambiance...tout à l'heure
@+Thierry
 
J

JCA06

Guest
Salut Thierry,

Génial si on se retrouve pour le déjeûner !
En plus, au menu : Filet de cabillaud en croute ou salade niçoise !
Pas un brin de poulet !!!

Et puis comme ça, tu pourras m'expliquer, parce que j'ai bien compris que le problème ne venait pas du Case Is > 9 ou >= 10, mais j'ai pas encore trouvé !!

A plus !
 

Discussions similaires

Statistiques des forums

Discussions
312 746
Messages
2 091 598
Membres
105 006
dernier inscrit
bhabali