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

Résolu
Myckou Messages postés 15 Statut Membre -  
Myckou Messages postés 15 Statut Membre -
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.

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
    1. Myckou Messages postés 15 Statut Membre
       
      Je suis bouche-bée, merci énormément !
      0
    2. Myckou Messages postés 15 Statut Membre > Myckou Messages postés 15 Statut Membre
       
      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
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
    4. Myckou Messages postés 15 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Volontiers, je n'ai pas réussi à appliquer cette formule
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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