Somme + Gauche

dufoseba -  
 dufoseba -
Bonjour,

Je n'ai pas trouvé mon Bonheur dans tous les messages déjà postés ici.

La formule me parait assez simple mais ne fonctionne pas..

Simplement faire une somme des 3 premiers chiffre qui se trouvent dans une plage précise (K14:AO14 par exemple)

=SOMME(GAUCHE(K14:AO14;3))

Comme le GAUCHE ne fonctionne que pour une seule cellule, cela ne fonctionne pas..

5 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    =SOMME(GAUCHE(K14:AO14;3)*1) à valider par CTRL +SHIFT +ENTREE
    Cdlt
    0
    1. dufoseba
       
      Il me met #VALEUR! :(
      0
      1. Frenchie83 Messages postés 2254 Statut Membre 339 > dufoseba
         
        C'est une formule matricielle, il faut la valider par la combinaison des touches
        CTRL +SHIFT +ENTREE
        0
    2. dufoseba
       
      J'avais lu mais cela n'a pas fonctionné.

      J'ai {} qui se sont ajoutés mais..

      Peut-être la version d'excel ou autre ?
      0
  2. Frenchie83 Messages postés 2254 Statut Membre 339
     
    J'ai {} qui se sont ajoutés mais.. c'est ça, cela rajoute des accolades avant le signe = et en fin de formule.
    Peut-être la version d'excel ou autre ? les formules matricielles fonctionnent depuis plusieurs versions. Quelle est la vôtre?
    Mettez un échantillon de votre fichier sur cjoint.com avec la formule que vous avez saisie, pour que nous puissions analyser le problème.
    0
    1. dufoseba
       
      Ah effectivement cela fonctionne.

      Uniquement si toutes mes cellules sont remplies.

      Merci !

      Si je veux la meme chose pour les cellules non vides, qu'est ce que je dois ajouter dans la formule ?

      Merci :-)
      0
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Ceci devrait aller
    =SOMME(GAUCHE((K14:AO14)*1;3)*1)
    toujours a valider de la même façon
    Cdlt
    0
    1. dufoseba
       
      Grand merci, Cela fonctionne :-)

      Par contre, avec l'adaptation de la dernière formule, si j'ai du texte après les 3 premiers chiffres, cela ne fonctionne plus..

      Merci pour votre aide en tous cas :-)
      0
    2. dufoseba
       
      http://www.cjoint.com/c/FDpmKmuphSq
      0
  4. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Re
    Je n'ai pas eu le temps de regarder, mais vu votre tableau, pourquoi ne pas faire comme ceci
    https://www.cjoint.com/c/FDpop3NQFNj
    Dès que j'ai un moment je regarde pour l'autre solution
    Cdlt
    0
    1. dufoseba
       
      J'y avais pensé mais c'est pour un tableau annuel. Ca va être un peu lourd..

      Pas moyen de contourner le problème ?

      Merci :-)
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour
      essayez celle ci qui devrait correspondre à tous les cas de figure possible si le nombre est bien entête de texte:

      =SOMMEPROD((GAUCHE(B2:F2;TROUVE(" ";B2:F2&" "))*1)*1)

      ne fonctionne pas avec des cellule vides entre B et F, mais éventuellement, les remplir avec 0
      exemple plusieurs cas de figure ici:

      https://www.cjoint.com/c/FDsjjfdgwUX


      crdlmnt

      ps: annule et remplace message précédent supprimé car ne convenant pas
      0
    3. dufoseba
       
      C'est super. Merci

      Encore une petite chose. Intégrer les cellules vides dans le calcul est impossible ?
      0
    4. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759 > dufoseba
       
      Bonjour à tous
      Coucou Vaucluse ;)

      Possible avec une fonction personnalisée à mettre dans un module de l'éditeur VBA (ALT+F11 pour ouvrir Editeur puis Insertion Module - copier coller la macro et fermer éditeur)
      Function som3P(plage As Range)
      adr = plage.Address
      For Each c In Range(adr)
      If c.Value <> "" Then Total = Total + Val(Left(c.Value, 3))
      Next
      som3P = Total
      End Function


      La fonction s'utilise ensuite comme n'importe quelle fonction Excel avec la syntaxe :
      =som3P(plage à sommer)
      ex: =som3P(K14:AO14)

      Cdlmnt
      Via
      0
    5. dufoseba
       
      Je n'ai pas l'impression qu'il prenne en compte les 0.5 pm et 0.5 am :(

      http://www.cjoint.com/c/FDuhzg2dQ6q
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour à tous
    petite correction
    Function som3P(plage As Range)
        adr = plage.Address
        For Each c In Range(adr)
            If c.Value <> "" Then Total = Total + Left(c.Value, 3) * 1
        Next
        som3P = Total
    End Function
    

    Cdlt
    0
    1. dufoseba
       
      Solution parfaite.

      Merci :-)
      0
    2. dufoseba
       
      Dernière petite question..

      Est-il possible d'exclure 2 lettres qui pourraient se trouver dans le tableau ?

      Si je mets un Z ou un T dans une cellule, ne pas le comptabiliser et créer une erreur.

      Merci :-)
      0