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 :

faire le total de plusieurs nombres empilés dans une même cellule [XL-2003]


Sujet :

Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut faire le total de plusieurs nombres empilés dans une même cellule
    bonjour,
    j'ai un problème de calcul de plusieurs valeurs dans une même cellule.
    à partir d'un logiciel tiers, je dois faire une exportation vers un fichier Pal qui se présente coomme suit: PAl(13 chiffres).slk. par la suite je copie ce fichier dans un fichier excel (2003). or il y a plusieurs cellules contenants chacune plusieurs valeurs les unes en dessous des autres et si je sais comment additionner des valeurs de différentes cellules, je ne sais pas comment faire pour avoir un total par cellule.
    quelqu'un aurait-il une solution macro ou autre pour pouvoir me depanner, en sachant que ne je suis qu'un utilisateur basique d'excel.
    merci d'avance pour vos sugestions.

  2. #2
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Est ce que tu as un exemple du contenu de ton/tes fichiers et ce que tu voudrais en résultat .....

    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  3. #3
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    le mieux serait de mettre une copie d'écran de cellules concernées au moyen des balises ad-hoc :

    Si ce qui se passe est que dans une cellule, on se retrouve avec plusieurs nombres mis les un en dessous des autres, il sont interprétés comme du texte (alignés à gauche par défaut) et pour les traiter, il faudra passer par des manipulations de chaînes.

    Il est primordial de savoir si la structure est permanente ou non etc...

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    collages 2009 2010.xls
    c'est surtout la dernière colonn qui m'interresse.

  5. #5
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    A part passer par une macro VBA, car tu veux "convertir" une colonne en plusieurs lignes ....

    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    ben disons que s'il était possible d'avoir juste le total des valeurs dans les cellulesse serait plus facile à gérer.
    le but est d'avoir un total des coûts de collage des vins et d'en faire une moyenne. ça, j'en suis capable mais c'est le calcul par cellule qui me pose problème.

  7. #7
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Ton souci, si tu es en séparateur numérique français normal, donc la virgule, est double puisque tes "nombres" comportent des points.

    Pour arriver à ce que tu veux, on va :

    1. Avoir besoin d’une colonne où l’on mettra les totaux
    2. D’utiliser, comme signalé auparavant, un traitement de chaînes de caractères qui va transformer ce genre de cellule (quelque soit le nombre de « nombres ») :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
       contenu de la cellule :
      0.61000
      1.13000
      4.29000
      20.16000
      1.62000
      2.13000
      en :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      =0,61000+1,13000+4,29000+20,16000+1,62000+2,13000
    3. Une fonction qui va transformer notre chaîne de caractères en formule active.


    Solutions :

    2) on va utiliser cette formule de chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="="&(SUBSTITUE(SUBSTITUE(A1;CAR(10);"+");".";","))
    3) On va utiliser une ancienne macro XL4 qu’on ne peut désormais valider qu’à travers un nom.

    Donc tu fais Insertion, Nom, Définir. Dans noms dans le classeur, tu tapes Fonc_Eval et dans fait référence à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =EVALUER("="&(SUBSTITUE(SUBSTITUE(Feuil1!B1;CAR(10);"+");".";",")))
    Ensuite en considérant que tes cellules sources soient en A et ta colonne total en B, tu rentres en B1 :

    Et avec la poignée de recopie tu descends le long de ta colonne

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    j'ai bien appliqué la formule, mais j'ai un message d'erreur dans la formule à chaque fois, j'ai bien verifié que tous les temes etaient bien ecrits, respecté les majuscules, mais rien n'y fait.
    je me suis rendu compte que le logiciel de traçabilité utilisait le point comme séparateur numérique, peut être que le problème vient de là ?
    cordialement
    Pierre

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    c'est fait je n'ai plus de problème d'erreur de formule, mais je n'arrive pas à avoir un résultat. sachant que c'est la colonne H qui m'interresse, j'ai remplacé dans la formule B1 par H2, mais j'obtient "VALEUR" ou "NOM" dans la cellule, j'ai donc remplacé H2 par J2 (cellule de destination), et j'ai une reference circulaire.

  10. #10
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Même si c'est un fichier sans VBA; il contient une macro, donc voit ton niveau de sécurité et accepte la macro XL4 si message..

    Sinon, je met en PJ le fichier exemple, ça te permettra de voir et de manipuler.

    Faire le total sans vba de plusieurs nombres empilés dans une même cellule

    PS : la colonne C n'est là que pour exemple, elle est inutile !

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    j'ai encore un probléme, ton tableau correspond au mien, mais A5=H2 et B5=I2
    quand je fait =Fonc_Eval, la valeur H2 de la formule se transforme en I2 et j'ai une référence cyclique, c'est comme si la formule n'était pas fixe.
    c'est normal ou il y a quelque chose que je ne fais pas.

  12. #12
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    tu as peut-être un problème de référence relative ou absolue selon ce que tu veux faire.

    notation A1 ou $A$1 ou juste col ou ligne absolue etc...

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    c'est presque bon. j'ai bien la notation $h$2et ça fonctionne, mais si je prend la poignée et que je descend, j'obtient toujours le même résultat dans toutes les cellules comme si la macro restait sur H2.
    je suis de désolé de redemander à chaque probléme, mais c'est vraiment abstrait pour moi.

  14. #14
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="="&(SUBSTITUE(SUBSTITUE(A1;CAR(10);"+");".";","))
    Pour que les coordonnées de cellules s'incrémentent au fil de la recopie, il faut que tu sois en coordonnées relatives sans les $ comme ci-dessus en faisant attention que la formule de départ soit bien correpondante à la ligne où elle se trouve !

    cordialement,


    PS :
    je suis de désolé de redemander à chaque probléme, mais c'est vraiment abstrait pour moi.
    Sans souci

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    comment est ce qu'on peut passer en coordonnées relatives, puisque dans mon cas cela ne fonctioone qu'avec les $ ?
    et pour grouper les questions, est ce qu'on peut transposer Fonc_Eval sur une autre feuille excel sans recopier toute la formule ?

  16. #16
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Là ça devient une question à tiroir

    2 solutions :

    1) on passe par des macros en vba, et ça te fera ce que tu veux simplement et souplement en étant évolutif facilement.

    2) tu ne veux pas de vba, même si ici, on utilise une macro déjà et tu mats un exemple de ton classeur en PJ, sans donnée confidentielle et en exposant bien les parties concernées.

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    ce n'est pas parce que c'est abstrait que je ne suis pas interressé. je veux bien voir ce que cela donne en VBA

  18. #18
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    ce n'est pas parce que c'est abstrait que je ne suis pas interressé. je veux bien voir ce que cela donne en VBA
    Le VBA n'a rien d'abstrait, c'est un langage de programmation lié aux applications office (et d'autres) .

    Donc si on l'utilise, il faut que les utilisateurs acceptent les macros, si ce n'est pas un problème dans ton environnement ou entreprise, c'est bon

    vois ici :http://www.developpez.net/forums/f66...ros-vba-excel/
    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    j'ai été voir sur le forum VBA,mais le temps que j'apprenne le langage et que je puisse m'en servir, cela n'aura plus d'utilité. quand je dis abstrait c'est à propos des lignes de programme, pour un profane c'est du chinois.
    par contre, je n'arrive toujours pas à selectioner la premiére cellule pour obtenir le bon résultat dans les autres. en fait le problème c'est que si je fais la formule avec H2, j'ai une référence circulaire et donc pas de résultat; si je met $h$2 j'ai bien un résultat mais pas duplicable.

  20. #20
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Dim plage As Range
    Set plage = ActiveSheet.Range("h2:h" & Range("h65535").End(xlUp).Row)
    'selection et définition de la plage
    Dim tot As Double ' résultats par cellule
    For Each cell In plage 
    ' pour chaque cellule de la plage 
    For t = 1 To Len(cell)
    'pour tous les éléments de la chaine 
    If Asc(Mid(cell, t, 1)) = 10 Then
    ' si on trouve un renvoi à la ligne
    tot = tot + CDbl(tran$)
    ' on somme la chaine transformé en nombre
    tran$ = Empty 
    'et  on vide la chaine
    Else
    'sinon on crée la chaine local
    tran$ = tran$ & Mid(cell, t, 1)
    End If
    Next
    ' on ajoute au total la fin de la chaine de la cellule
    tot = tot + CDbl(tran$)
    'on vide la chaine
    tran$ = ""
    'on inscrit le total dans la cellule à trois colonne vers la droite
    cell.Offset(0, 3).Value = tot
    'on remet la valeur de tot à 0
    tot = 0
    Next
    End Sub
    ouvrir l'editeur VBA ( Alt F11)
    insertion module
    ( clic droit sur le nom du classeur dans la fenêtre de gauche (explorateur de projet )
    cliquer le module et dans la fenêtre principale copier le code

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/12/2010, 19h47
  2. Plusieurs valeurs dans une même cellule
    Par biche1 dans le forum Excel
    Réponses: 4
    Dernier message: 25/09/2008, 15h56
  3. Réponses: 5
    Dernier message: 04/06/2008, 10h03
  4. Réponses: 1
    Dernier message: 07/08/2007, 09h06
  5. Plusieurs résultats dans une même cellule
    Par luboyoyo dans le forum Excel
    Réponses: 2
    Dernier message: 04/06/2007, 08h39

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