Calcul sur nombre décomposé

pascalbeziers Messages postés 3 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 2 juillet 2003 - 20 juin 2003 à 09:53
pascalbeziers Messages postés 3 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 2 juillet 2003 - 2 juil. 2003 à 20:49
bon jour,

Je cherche le code source ou l'explication pour créer le code d'une fonction qui prendrai un nombre à 5 chiffres (invariable) et multiplierai le premier chiffre au second, le résultat au troisième, le résultat au quatrième etc...

qqun à déjà fait ça ou pourrait m'expliquer comment m'y prendre?

Merci à vous.

@+ Pascal

4 réponses

Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005
21 juin 2003 à 00:03
c'est ce qu'on applle une fonction recursive. c'est à dire quelle s'apelle elle même


Private Function MulX(Valeur as double) as double
mulx=mulx(valeur)*valeur
End Function

Le problème est la sortie parceque çà va metre à genoux la pile d'appel en moins de temps qu'il faut pour l'écrire

ce qui donnerait quelque chose comme
Private Function MulX(Valeur As Double, NbMult) As Double
If NbMult < 0 Then
MulX = Valeur
Else
MulX = MulX(Valeur, NbMult - 1) * Valeur
End If
End Function

'Sans arantie du résultat

Jean-Luc
0
pascalbeziers Messages postés 3 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 2 juillet 2003
22 juin 2003 à 16:55
pascal de Béziers

Non je crois que je me suis mal exprimé.

J'aimerai récupérer un nombre de 5 chiffres contenu dans ma cellule A1 d'une feuille de calcul excel (feuil1).

Prendre cette valeur avec la commande mid la décomposer en 5 chiffres différents et les multiplier tous entre eux.

C'est à dire : 12345 dans ma cellule A1.

prendre ce nombre, le décomposer avec la fonction mid(nombre,1,1) et les multiplier entre eux. 1 * 2 * 3 * 4 * 5 = 180.

Afficher le résultat en cellule B1.

Merci pour ton aide
0
DarkLanfeust Messages postés 71 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 14 août 2004
1 juil. 2003 à 22:23
je c pas comment vb dialogue avec excel, je mets le code comme si c'etait des champs textes de vb et tu transposeras

je pense que ca marcherait:

total=1
FOR x=1 TO 5
total=total*MID(A1.text, x, 1)
NEXT x
B1.text=total

Dark L@nfeust
http://lagrangeduweb.free.fr
0
pascalbeziers Messages postés 3 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 2 juillet 2003
2 juil. 2003 à 20:49
Merci à toi grand gourou du VB, cela plusieurs jours que je cherche

Merci
pascal de Béziers
0
Rejoignez-nous