IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Somme de cellules qui contiennent des nombres et des caractères


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut Somme de cellules qui contiennent des nombres et des caractères
    Bonjour à tous,
    Malgré mes recherches sur la toile, je n’ai pas trouvé la réponse à mon problème, c’est pourquoi une énième fois je reviens vers vous tous.
    J’ai des cellules avec un nombre et du texte.
    Elles peuvent être formulés de plusieurs façons comme par exemple : "5", "154", "7 (2014)", "95 en 2013/2014", "32 environ" ou "522 ou un peu plus".
    Une constante, lorsqu’il a d’autres caractères après le premier nombre, il y a toujours un espace entre ce nombre et les autres caractères.
    Même si cela n’a certainement pas d’importance, sachez que toutes les cellules de la plage sont le résultat d’une formule.

    Comment faire pour additionner les premiers nombres de ces cellules ?

    L’addition ci-dessous, ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(CNUM(GAUCHE(J62;TROUVE(" ";J62)-1)):CNUM(GAUCHE(J65;TROUVE(" ";J65)-1)))
    C’est vraiment bizarre car la formule suivante pour isoler le premier nombre fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CNUM(GAUCHE(J62;TROUVE(" ";J62)-1)
    D’avance, merci beaucoup pour votre aide.
    bolide7

  2. #2
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Ce n'est pas étonnant que la formule ne fonctionne pas sous cette forme.
    Lorsqu'on écrit une formule avec la fonction SOMME et une syntaxe du genre :
    =SOMME (plage)plage est écrit sous la forme J62 : J65 , on doit avoir des coordonnées de cellule à gauche et à droite des deux points.
    Or , dans ta formule, ce sont deux nombres qui sont séparés par les deux points.
    Comme il n'y a pas beaucoup de nombres à additionner, tu peux employer la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(CNUM(GAUCHE(J62;TROUVE(" ";J62)-1));CNUM(GAUCHE(J63;TROUVE(" ";J63)-1));CNUM(GAUCHE(J64;TROUVE(" ";J64)-1));CNUM(GAUCHE(J65;TROUVE(" ";J65)-1)))
    Cela deviendrait difficile si au lieu de la plage J62 : J65, tu avais une plage d'une vingtaine de cellules telle que J62 : J82.
    Tu dois pouvoir t'en sortir avec la formule matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = SOMME(CNUM(GAUCHE(J62:J65;TROUVE(" ";J62:J65)-1)))
    à valider avec Ctrl + Maj + Entrée
    Cordialement
    Claude

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir papouclo,
    Merci beaucoup pour ta proposition et ta formule.
    Avec tes pertinentes explications, j'ai compris mes erreurs.
    Tu as bien fait de me faire une proposition pour une grande plage, car dans mon fichier la plage n'est pas de 4 cellules, mais d'une centaine de cellules.
    Par contre, la formule ne marche pas, même avec Ctrl + Maj + Entrée.
    Bonne soirée.
    bolide7

  4. #4
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    J'ai surtout regardé l'erreur de syntaxe de la fonction SOMME et n'ai pas fait attention au fait que, d'après tes exemples, certaines cellules pouvaient contenir des nombres
    à additionner directement sans extraction à faire; auquel cas, la formule risque de renvoyer un signal d'erreur.
    Essaie la formule matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = SOMME(SI(ESTNUM(J62:J65);J62:J65;CNUM(GAUCHE(J62:J65;TROUVE(" ";J62:J65)-1))))
    toujours à valider par Ctrl + Maj + Entrée.
    Cordialement
    Claude

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour papouclo,
    Merci beaucoup pour ta nouvelle proposition.
    Si j'ai bien compris, ce sont les cellules avec que des nombres qui perturbaient la formule.
    Hélas, cela ne marche toujours pas.
    Avec beaucoup de difficulté, j'ai isolé l'origine du problème.
    Ce seraient les cellules vides.
    Je n'avais pas précisé qu'il y avait des cellules vides, car d'habitude les cellules vides ne perturbent pas la fonction "SOMME".
    J'ai donc essayé de contourner le problème an modifiant ta formule avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(SI(OU(J62:J65=" ";ESTNUM(J62:J65));J62:J65;CNUM(GAUCHE(J62:J65;TROUVE(" ";J62:J65)-1))))
    +Ctrl + Maj + Entrée

    Hélas, ça ne marche pas.
    A priori, ma formule n'additionne que les cellules avec seulement un nombre et les cellules vides.
    Bon après-midi.
    bolide7

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Re,
    Les cellules posant problème sont-elles vides ou contiennent-elles uniquement le caractère de code 32 ou si tu préfères un espace ?
    Dans ta formule , le test OU( J2:J65=" "; ESTNUM(J2:J65)), contrôle si les cellules contiennent seulement un espace ou si elles sont des nombres.
    Or une cellule vide n'est ni égale à une cellule contenant un espace, ni une cellule numérique : la proposition du test est donc fausse et la formule
    propose pour cette cellule le traitement : CNUM(GAUCHE(J62:J65;TROUVE(" ";J62:J65)-1)) ce qui conduit encore à un message d'erreur.
    Le test doit s'écrire :
    OU(J2:J65 = "" ; ESTNUM(J2:J65))
    en prenant soin qu'il n'y ait rien entre les deux caractères double quotes (ou guillemets)
    Cordialement
    Claude

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Cellule qui se remplit en fonction des fichiers xls
    Par Arnaud41 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/11/2012, 11h38
  2. [XL-2003] compter le nombre de cellules qui contiennent la valeur AA ou BB
    Par goldfinger13 dans le forum Excel
    Réponses: 1
    Dernier message: 08/02/2012, 07h02
  3. [XL-2007] modifier dans une plage toutes les cellules qui contiennent un mot précis en VBA
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/10/2010, 18h24
  4. algo qui affiche par ordre croissant des nombres
    Par jeremdu69300 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 18/09/2008, 23h16
  5. Réponses: 3
    Dernier message: 08/09/2003, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo