GNT sans publicité, site mobile, fonctionnalitées exclusives...

Aide pour faire un calculateur

Le
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-32etc).

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
Lire les 5 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
lSteph
Le #3938101
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


Pierre Fauconnier
Le #3938021
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" 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




Jacques
Le #3937711
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" 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









lSteph
Le #3937591
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" 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









--
- -



Jacques
Le #3936561
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" 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









--
- -








Publicité
Suivre les réponses
Poster une réponse
Anonyme