Excel - Recherche d'une formule de succession de nombres.

Résolu/Fermé
Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016 - Modifié par Myckou le 19/11/2016 à 19:58
Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016 - 19 nov. 2016 à 20:44
Bonjour,

Je recherche actuellement une formule permettant de calculer 111 par (3?1), ou 5555 par (4?5), bref, qui me permette de dire combien de fois consécutives je veux ce nombre.
Une telle formule existe-t-elle? Fonctionne-t-elle pour des nombres >9 ?

Merci d'avance.

Edit : Pour les nombres au delà de 9, j'aimerai que =myckou(2;11) soit 121 et non 1111, ou encore que =myckou(4;15) soit 16665 et non 15151515.

A voir également:

3 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
19 nov. 2016 à 19:30
Je propose de créer cette fonction :
Option Explicit
Function myckou(rep As Integer, nomb As Integer) As Single
    Dim nc As Integer
    Dim facteur As Long
    Dim i As Integer
    myckou = 0
    nc = Int(Log(nomb) / Log(10)) + 1
    facteur = 10 ^ nc
    For i = 1 To rep
        myckou = myckou + facteur ^ (i - 1)
    Next
    myckou = myckou * nomb
End Function

Et tu peux ensuite l'appeller dans une formule
=myckou(4;123)
1
Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016
19 nov. 2016 à 19:46
Je suis bouche-bée, merci énormément !
0
Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016 > Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016
Modifié par Myckou le 19/11/2016 à 19:56
Cependant, (mais tu ne pouvais pas savoir) elle ne correspond pas à mes attentes pour les nombres au delà de 9.
En effet, j'aimerai que =myckou(2;11) soit 121 et non 1111.
Ou encore que =myckou(4;15) soit 16665 et non 15151515.
Bref que cela fonctionne comme cela

15
⇩15
⇩⇩15
⇩⇩⇩15
16665
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
Modifié par yg_be le 19/11/2016 à 20:32
Alors c'est beaucoup plus simple :
si tu enregistres deux nombres en A1 et B1, pour calculer A1?B1, tu utilises la formule
=VALUE(REPT("1";A1))*B1

Su tu préfères une fonction, la voici :
Option Explicit
Function myckou(rep As Integer, nomb As Integer) As Single
    'Dim nc As Integer
    Dim facteur As Long
    Dim i As Integer
    myckou = 0
    'nc = Int(Log(nomb) / Log(10)) + 1
    facteur = 10 '^ nc
    For i = 1 To rep
        myckou = myckou + facteur ^ (i - 1)
    Next
    myckou = myckou * nomb
End Function
0
Myckou Messages postés 15 Date d'inscription samedi 19 novembre 2016 Statut Membre Dernière intervention 21 novembre 2016 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
19 nov. 2016 à 20:28
Volontiers, je n'ai pas réussi à appliquer cette formule
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
19 nov. 2016 à 20:31
Entre-temps (mais tu ne pouvais pas savoir), j'ai ajouté la nouvelle fonction : https://forums.commentcamarche.net/forum/affich-34110153-excel-recherche-d-une-formule-de-succession-de-nombres#6.
Et je modifie aussi comment utiliser la fonction!
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
19 nov. 2016 à 19:58
Bonsoir à tous,

Tu peux aussi utiliser la formule :
=--REPT("1";3) pour 111
=--REPT("5";4) pour 5555

ça fonctionne aussi avec les séquences de plus d'un chiffre :
=--REPT("123";3) pour 123123123

cordialement
1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 19/11/2016 à 20:06
Bonjour,

par formule :
=--REPT(DROITE(A2;1);GAUCHE(A2;CHERCHE("~?";A2)-1)) 

avec saisie sous la forme de 3?1 en A2
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0