OVH Cloud OVH Cloud

Aide pour faire un calculateur

5 réponses
Avatar
Jacques
Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le textbox,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se faire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques

5 réponses

Avatar
lSteph
Salut Jacques ,

cela faisait longtemps
j'ai réordonné les Labels du bas.

http://cjoint.com/?lgrA6sNhfc

@+
lSteph

Private Sub TextBox1_AfterUpdate()
Dim maval As Integer, i As Integer
On Error GoTo SortieErreur
For i = 21 To 30
Me.Controls("Label" & i).Caption = ""
Next
maval = CInt(Val(TextBox1))
MsgBox maval
If maval < 1 Or maval > 1023 Then GoTo SortieErreur

Do While maval <> 0
Select Case maval
Case Is >= 512
Label30.Caption = "o"
maval = maval - 512
Case Is >= 256
Label29.Caption = "o"
maval = maval - 256
Case Is >= 128
Label28.Caption = "o"
maval = maval - 128
Case Is >= 64
Label27.Caption = "o"
maval = maval - 64
Case Is >= 32
Label26.Caption = "o"
maval = maval - 32
Case Is >= 16
Label25.Caption = "o"
maval = maval - 16
Case Is >= 8
Label24.Caption = "o"
maval = maval - 8
Case Is >= 4
Label23.Caption = "o"
maval = maval - 4
Case Is >= 2
Label22.Caption = "o"
maval = maval - 2
Case Is >= 1
Label21.Caption = "o"
maval = maval - 1
End Select
Loop

Exit Sub
SortieErreur:

TextBox1 = ""
MsgBox "entrée invalide"


End Sub

Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le text box,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se f aire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques


Avatar
Pierre Fauconnier
Bonsoir

Juste pour le fun, sans userform, avec des cellules et des formules

En A1, saisir la valeur décimale. Nommer cette cellule "ValeurInitiale"

En A3:J2, copier les valeurs 1, 2, 4, 8, 16, ..., 256

En J4, saisir la formule suivante
=SI(ValeurInitiale>=J3;"X";"")
pour avoir un X si la valeur initiale est plus grande que 512

En A4, saisir la formule suivante
=SI(ValeurInitiale-SOMMEPROD((B4:$J$4="X")*B3:$J$3)>£;"X";"")
On somme les puissances de 2 qui ont un X en dessous d'elles, à partir
de la cellule active jusque la cellule J4
et la recopier en B4:I4

Voir le fichier joint http://cjoint.com/?lgsyKaFYvB

Ok?

--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Jacques" a écrit dans le message de
news:
Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire
ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le
textbox,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se faire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques




Avatar
Jacques
lSteph, Pierre FAUCONNIER, le forum

lSteph, oui cela faisait longtemps, mais les spectacles, le boulot, mes
enfants me prennent du temps, et j'ai laissé pas mal d'appli fait sur excel
de coté (Faudra que je m'y remette, car j'en aurais besoin).

Donc vos deux manières de faire fonctionnent a merveillent.

lStep, j'ai un peu modifié (Mais pas grand chose), pour que cela donne le
résultat au fur et a mesure de la saisie.

Par contre un peu truc que je n'arrive pas a enlever, c'est que cela me met
le message d'erreur deux fois.

Une fois pour l'erreur en question et une autre fois pour le fait que le
TextBox est a zéro.

Mais bon, c'est pas bien grave.

Un grand merci a tous les deux, Jacques


Bonsoir

Juste pour le fun, sans userform, avec des cellules et des formules

En A1, saisir la valeur décimale. Nommer cette cellule "ValeurInitiale"

En A3:J2, copier les valeurs 1, 2, 4, 8, 16, ..., 256

En J4, saisir la formule suivante
=SI(ValeurInitiale>=J3;"X";"")
pour avoir un X si la valeur initiale est plus grande que 512

En A4, saisir la formule suivante
=SI(ValeurInitiale-SOMMEPROD((B4:$J$4="X")*B3:$J$3)>£;"X";"")
On somme les puissances de 2 qui ont un X en dessous d'elles, à partir
de la cellule active jusque la cellule J4
et la recopier en B4:I4

Voir le fichier joint http://cjoint.com/?lgsyKaFYvB

Ok?

--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Jacques" a écrit dans le message de
news:
Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire
ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le
textbox,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se faire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques









Avatar
lSteph
Bonsoir,

tu peux enlever les msgbox si tu veux
et même la routine erreur si elle n'est pas utile.

@+

lSteph

Jacques a émis l'idée suivante :
lSteph, Pierre FAUCONNIER, le forum

lSteph, oui cela faisait longtemps, mais les spectacles, le boulot, mes
enfants me prennent du temps, et j'ai laissé pas mal d'appli fait sur excel
de coté (Faudra que je m'y remette, car j'en aurais besoin).

Donc vos deux manières de faire fonctionnent a merveillent.

lStep, j'ai un peu modifié (Mais pas grand chose), pour que cela donne le
résultat au fur et a mesure de la saisie.

Par contre un peu truc que je n'arrive pas a enlever, c'est que cela me met
le message d'erreur deux fois.

Une fois pour l'erreur en question et une autre fois pour le fait que le
TextBox est a zéro.

Mais bon, c'est pas bien grave.

Un grand merci a tous les deux, Jacques


Bonsoir

Juste pour le fun, sans userform, avec des cellules et des formules

En A1, saisir la valeur décimale. Nommer cette cellule "ValeurInitiale"

En A3:J2, copier les valeurs 1, 2, 4, 8, 16, ..., 256

En J4, saisir la formule suivante
=SI(ValeurInitiale>=J3;"X";"")
pour avoir un X si la valeur initiale est plus grande que 512

En A4, saisir la formule suivante
=SI(ValeurInitiale-SOMMEPROD((B4:$J$4="X")*B3:$J$3)>£;"X";"")
On somme les puissances de 2 qui ont un X en dessous d'elles, à partir
de la cellule active jusque la cellule J4
et la recopier en B4:I4

Voir le fichier joint http://cjoint.com/?lgsyKaFYvB

Ok?

--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Jacques" a écrit dans le message de
news:
Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire
ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le
textbox,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se faire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques









--
- -



Avatar
Jacques
Lsteph, le forum

Merci, j'ai réussie a faire ce que je voulais.

J'ai simple remis une condition avant le teste de la valeur avant

If maval < 1 Or maval > 1023 Then GoTo SortieErreur

Comme ceci.

If TextBox1 = "" Then Exit Sub

Je ne sais pas si s'était la meilleur solution,mais cela fonctionne.

Merci a vous deux, Jacques


Bonsoir,

tu peux enlever les msgbox si tu veux
et même la routine erreur si elle n'est pas utile.

@+

lSteph

Jacques a émis l'idée suivante :
lSteph, Pierre FAUCONNIER, le forum

lSteph, oui cela faisait longtemps, mais les spectacles, le boulot, mes
enfants me prennent du temps, et j'ai laissé pas mal d'appli fait sur excel
de coté (Faudra que je m'y remette, car j'en aurais besoin).

Donc vos deux manières de faire fonctionnent a merveillent.

lStep, j'ai un peu modifié (Mais pas grand chose), pour que cela donne le
résultat au fur et a mesure de la saisie.

Par contre un peu truc que je n'arrive pas a enlever, c'est que cela me met
le message d'erreur deux fois.

Une fois pour l'erreur en question et une autre fois pour le fait que le
TextBox est a zéro.

Mais bon, c'est pas bien grave.

Un grand merci a tous les deux, Jacques


Bonsoir

Juste pour le fun, sans userform, avec des cellules et des formules

En A1, saisir la valeur décimale. Nommer cette cellule "ValeurInitiale"

En A3:J2, copier les valeurs 1, 2, 4, 8, 16, ..., 256

En J4, saisir la formule suivante
=SI(ValeurInitiale>=J3;"X";"")
pour avoir un X si la valeur initiale est plus grande que 512

En A4, saisir la formule suivante
=SI(ValeurInitiale-SOMMEPROD((B4:$J$4="X")*B3:$J$3)>£;"X";"")
On somme les puissances de 2 qui ont un X en dessous d'elles, à partir
de la cellule active jusque la cellule J4
et la recopier en B4:I4

Voir le fichier joint http://cjoint.com/?lgsyKaFYvB

Ok?

--
Pierre Fauconnier () (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Jacques" a écrit dans le message de
news:
Salut a toute et tous.

Je ne sais si cela est possible, mais j'aimerais de l'aide pour me faire
ce
calculateur, car je ne sais pas comment faire.

Les explications :

Ce que j'aimerais c'est que dés que l'on rentre une valeur dans le
textbox,
que cela me mette un gros points noire dans les cases correspondantes (En
dessous des valeurs 1-2-4-8-16-32...etc).

Donc si je tape 14, que cela me mette des points suivant le tableau de
l'userform :

Car 14 = 2+4+8 -> il faudrait qu'il soit coché les cases 2-3-4

Si 53 = 1+4+16+32 -> il faudrait qu'il soit coché les cases 1-3-5-6

Il me semble que la valeurs maxi est 1023 (S tout est cochée)

J'espères que mes explications on étée claires et que cela peu se faire.

Le lien de mon tableau :

http://cjoint.com/?lglJwYZdQ0

Merci a vous, Jacques









--
- -