Utilisation du Si et Somme

Résolu
Bonjour à tous,
Je réalise un tableau pour afficher le résultat d'un jeu et je rencontre quelques difficultés…
Tout d'abord voici le tableau :

src='https://img-19.ccm2.net/3dOVPdZOSg2R_V4B9Dj0d7ZakC4=/440x/f9dc12f834fb415dbcf2a99f9e97e22d/tmp/Sans_titre.png' alt='' width='440' border='0' />

Je rajouterai à chaque étapes une image pour illustrer mes propos
En C2, on retrouve la somme des points de chaque tours (=SOMME(E2:AH2))

src='https://img-19.ccm2.net/dtdY9gLJTU7ajiJ4nqrlM2GmwTo=/440x/c689060fa2394d35a39214a720b7b06e/tmp/Sans_titre1.png' alt='' width='440' border='0' />

Cependant je veux que lorsque cette somme dépasse 40 à un tour n, C2 prend la valeur de 20 (=SI(SOMME(E2:AH2)>40;20;SOMME(E2:AH2)))

src='https://img-19.ccm2.net/mKusnXrMxXiyYkRrjgQ7VUkhfow=/440x/b9c54fce0a964797ae2fcac1a4a4a1d4/tmp/Sans_titre2.png' alt='' width='440' border='0' />

Ensuite, là où je bloque c'est pour qu'au tour n+1 , la valeur soit ajouté à 20.

src='https://img-19.ccm2.net/qVxVgbrGuL0Ne8udog_NLsSztnc=/440x/f23c3808f5d5493a8101d7963b359e70/tmp/Sans_titre3.png' alt='' width='440' border='0' />

Je demande un peu d'aide aux connaisseurs qui aurait le temps de m'expliquer
Merci !

3 réponses

  1. Contributeur
    Bonjour,

    Je demande un peu d'aide aux connaisseurs
    Ils sont assez déçus par tes images que tu n'as pas crées correctement. ;-)

    Pour rajouter 20 à chaque tour, ta formule ne peut pas fonctionner. Tu dois avoir le nombre de tours dans une cellule et donc il te suffit d'une formule de ce type
    =cellule_nombre_de_tours*20
    0
    1. J'ai mis en réponse au sujet les photos ;)

      Le but n'est pas d'ajouter 20 à chaque tour mais une valeur comprise entre 1 et 12
      Si la somme d'un joueur dépasse 40 au tour n, il revient à 20
      Au tour n+1 les points qu'il marque doivent être ajouté à 20 :)
      0
    2. Contributeur
      Bonjour,

      Ensuite, là où je bloque
      Ce n'est pas trop étonnant car les fonctions standard ne sont pas trop prévues pour un tel fonctionnement.
      Tu obtiens ce résultat avec cette petite fonction personnalisée à copier dans un module standard
      Public Function points(plg)
      Dim cel As Range
          For Each cel In plg
             points = IIf(points + cel > 40, 20, points + cel)
          Next cel
      End Function

      Ensuite pour l'appeler tu remplaces ta formule par
      =points(E2:AH2)


      Le classeur de test : https://www.cjoint.com/c/HFbhrouzlSl
      0
    3. Il m'est impossible d'ouvrir le fichier car "Son format ou son extension est invalide"
      0
    4. Contributeur
      Bonsoir,

      Un autre lien : https://mon-partage.fr/f/uQqjYsy1/
      0
    5. Bonsoir,

      Tout est fonctionnel !
      Un grand merci :)
      Je voudrai cependant savoir de quel manière vous mettez le code dans un module standard.
      0








  2. Voici les photos dans l'ordre des étapes
    0
    1. Contributeur
      Bonjour
      pas trop facile de traiter votre problème avec vos explications
      si on suppose, puisqu'on peut rien faire d'autre:
      • que le total redescend à 2à0 chaque fois qu'on atteint un multiple de 40 dans la somme
      • que ces 20 sont à rajouter à tout ce qui dépasse 40 * par le nombre de 40 complets (incluant les 20 de prime à chaque fois)

      essayez celle ci de E à Z

      =MOD(SOMME(E2:Z2)+ENT(SOMME(E2:Z2)/40)*20;40)

      et dites nous ce qui ne va pas

      crdlmnt

      0
      1. Bonjour,
        ce n'est pas quand on atteint un multiple de 40, mais un nombre supérieur à 40
        0
      2. Contributeur
        D'accord, mais quand le total est supérieur à 40, on passe à 20, ça c'est facile:
        =SI(SOMME(E2:AH2)>40;20)
        et après, on fait quoi, avec le reste?
        et si on doit continuer à sommer quelque chose, on fait quoi avec les 20 acquis?
        vous pouvez préciser?
        crdlmnt
        0
      3. Alors règles du jeu :
        A chaque tours, chacun des joueurs peut faire un score de 0 à 12 points
        Le premier joueurs qui atteint 40 points à gagné
        Si un joueur dépasse 40, il revient à 20 points et le jeu continue
        0