Opérations simples sur valeurs monétaires

Résolu/Fermé
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023 - 11 avril 2020 à 22:54
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023 - 14 avril 2020 à 16:31
Bonjour,
je me casse la tête sur une simple opération Excel d'addition de valeurs exportées d'un compte bancaire.
Je prends le relevé bancaire du 01/01 au 31/12 d'une année. Le module bancaire offre les possibilités d'exporter le tableau en CSV, en PDF, vers Excel ou en XML.
Ayant choisi Excel, je peux exécuter toutes les opérations de tri, de formatage des libellés, etc sans problèmes. Lorsque je veux procéder aux additions dans les diverses rubriques d'achats, ventes ou autres, je ne parviens pas à obtenir un résultat autre que 0,00 malgré que les données soient bien sélectionnées dans la colonne des valeurs.
Au départ, ces valeurs se présentent comme suit : +233,25EUR ou -233,25EUR suivant la transaction bancaire positive ou négative.
J'ai beau donner aux cellules le format numérique ou monétaire, supprimer par remplacement la valeur EUR, supprimer les signes + ou - qu'il considère comme appel d'une formule, recopier les nombres comme "valeur" dans une autre colonne, rien n'y fait : le total de la portion de colonne sélectionnée est toujours 0, comme celle de toute la colonne également.
Merci déjà à celle ou celui qui éclairera ma lanterne. Je lui réserve un Excel lent œuf de Pâques.



Configuration: Windows / Chrome 81.0.4044.92

7 réponses

Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
13 avril 2020 à 02:40
Bonjour.

Malgré toutes les manipulations que tu décris, tu as toujours des textes !
La preuve : tes données sont toujours alignées à gauche ...

Tu saisis le chiffre 1 dans une cellule vide ;
tu fais Copier ;
tu sélectionnes tous tes faux nombres ;
tu fais Collage spécial / Multiplication
Tu verras que ce sont maintenant de vrais nombres, alignés à droite, et qui se laissent sagement additionner !
0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
13 avril 2020 à 12:02
Grand merci Raymond.
Voici comment se présentent mes colonnes triées par rubriques. En gardant ou en remplaçant EUR par rien du tout dans la colonne des valeurs, j'ai tenté l'opération préconisée de multiplication par 1 sans succès. Toutes les cellules prennent la valeur 1 alignée à droite comme nombre, que les valeurs d'origine (texte) soient ou non alignées. Je précise aussi que j'ai fait l'opération de multiplication en choisissant d'abord "Tout" puis "Valeurs" parmi les rubriques du collage spécial. Même résultat.
ENGIE Electr  - 147,37 EUR   
ENGIE Electr   +123,56 EUR 
ENGIE Electr  - 147,37 EUR 
ENGIE Electr   + 57,37 EUR 
ENGIE Electr   - 147,37 EUR 
Je reste donc "confiné" dans mes interrogations.
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
13 avril 2020 à 12:51
Bonjour,

tes valeurs se présentent bien précédées de l'opérateur + ou - es ce bien cela
et entre l'opérateur es ce qu'il y a un espace

l'idéal serait d'avoir un exemple de fichier anonymisé

pour joindre ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

dans le même style tu as https://mon-partage.fr/

0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
13 avril 2020 à 16:10
Merci Mike-31
Voici l'adresse du fichier qui reprend les données brutes exportées du compte financier, ces mêmes données triées puis avec les totaux partiels auxquels je dois arriver.
https://www.cjoint.com/c/JDnobfxgoUg
Merci de m'avoir fait découvrir cjoint.
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
13 avril 2020 à 16:37
Jeansaigne ! Jeansaigne !

Dès qu'on parle Excel, il faut faire preuve de rigueur et de précision !
Tu nous déclares "ces valeurs se présentent comme suit : +233,25EUR "
En réalité elles se présentent comme suit _+_233,25_EUR_ où chaque _ que j'ai placé est en fait un espace insécable de code 160, alors que l'espace normal en bureautique, c'est le code 32 !

Normal que les solutions que nous t'avions proposées avant de recevoir ton fichier soient nulles et non avenues ...
0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
13 avril 2020 à 18:01
Oui, bien lu et entendu ! J'ai pas fait exprès, je l'jure !
Je n'y ai pas pensé parce que j'ai essayé également de faire mon addition en supprimant le signe + des données. Cette suppression ou plus précisément le remplacement de + par rien s'est faite sans problème mais l'addition restait impossible. L'espace insécable resterait-il comme obstacle à cette opération ? Dans ce cas, comment le supprimer et comment résoudre le problème de la soustraction puisqu'elle est impossible sans le signe ?
Comment, par exemple, remplacer Alt160 par Alt32 si ce sont ces commandes qu'il faut actionner ?
Merci + 1000 fois.
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
13 avril 2020 à 18:17
Re,

effectivement il y a des espaces insécables, des symboles opérateurs et du texte qu'il faut traiter.
et pour avoir une valeur numérique négative -valeur il faut faire valeur-valeur*2 et tout cela après avoir identifier l'opérateur de départ - ou +

=SI(GAUCHE(SUPPRESPACE(SUBSTITUE(C3;CAR(160);""));1)="-";SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;"EUR";"");"-";"");CAR(160);""))*1-(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;"EUR";"");"-";"");CAR(160);""))*1*2);SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;"EUR";"");"-";"");CAR(160);""))*1)

mais ce n'est pas tout il y a également traiter le séparateur de millier qui est un point

ce qui donnerai pour la cellule C3
=SI(GAUCHE(SUPPRESPACE(SUBSTITUE(C3;CAR(160);""));1)="-";SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;".";"");"EUR";"");"-";"");CAR(160);""))*1-(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;".";"");"EUR";"");"-";"");CAR(160);""))*1*2);SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;".";"");"EUR";"");"-";"");CAR(160);""))*1) 

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
13 avril 2020 à 18:26
Bravo, Mike-31 !

En reprenant ta formule, on peut l'optimiser pour la réduire à
=SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;CAR(160););"+";);"EUR";);".";)*1
à saisir en D3 et recopier vers le bas.
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
Modifié le 13 avril 2020 à 18:36
Salut mon ami,

oui tout a fait je m'était arrêté à l'explication de chaque paramètre à prendre en compte et ne m'étais pas encore penché sur l'optimisation de la formule
merci de l'avoir fait
0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
14 avril 2020 à 00:21
Merci chers Messieurs pour votre joyeux poême qui me laisse baba !
J'ai fait, dans une autre vie il y a plus de 50 ans, de la programmation sur ordi en chambre climatisée et qui se nourrissait de cartes perforées, ordi plus grand qu'une maison avec une mémoire vive de 128K mais, aubaine, on est très vite passé à 256K, la gloire ! ! ! Ceci pour vous dire que je ne suis plus guère familier de ce langage mais surtout de la manière de l'exploiter.

Il s'agit donc ici, si je ne me trompe pas, d'un petit module que je dois intégrer quelque part mais est-ce directement dans la cellule C3 puis en C4 pour le reste ou dois-je passer par l'invite de commande mais avec quelles références ou assignations ? Si c'est dans la cellule-même, la donnée est écrasée mais la cellule est formatée et je devrai y réintégrer les données qui seront automatiquement adaptées au nouveau format. Est-ce correct ou dois-je me reformater moi-même avant de commencer ?
L'identification de l'opérateur + ou - peut, j'imagine, être faite par la fonction "Si" dans une autre colonne où le module approprié sera intégré et où je collerai les valeurs.
Dernière question, le module est-il valable pour les deux opérateurs + et - ? Je ne sais pas très bien le décortiquer.
Merci de partager vos compétences aux jeunes ignorants.
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
14 avril 2020 à 03:16
Jeansaigne, je finirai par te tirer les oreilles : tu es distrait !

"est-ce directement dans la cellule C3"
Relis attentivement mon post #9 :
J'ai bien précisé en D3, justement pour t'éviter de mal interpréter ce que Mike-31 a écrit dans son post #8 "ce qui donnerait pour la cellule C3" , la préposition pour ne voulant pas dire ici dans, mais "à propos de".

"Il s'agit donc ici, si je ne me trompe pas, d'un petit module que je dois intégrer quelque part"
Non, ce n'est pas un module (nous ne sommes pas en VBA pour écrire une macro) ; c'est juste une formule à placer dans la colonne vide à côté de celle où tu as tes données texte.

"dois-je passer par l'invite de commande mais avec quelles références ou assignations ?"
Question sans objet, vu mon explication ci-dessus ...
0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
14 avril 2020 à 13:48
Chers Raymond et Marc-31, un vif merci pour la résolution de mon problème.
Avec mes 85 balais, mes neurones sont en effet un peu (c'est un euphémisme) fatiguées.
J'ai copié et collé la formule telle que présentée par Raymond. Résultat : "valeur" dans la cellule parce que le signe = devait d'abord être introduit manuellement : =SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(C3;CAR(160););"+";);"EUR";);".";)*1.
Il fallait en l'occurrence modifier aussi C3 en F9 ou toute autre dénomination de cellule pour correspondre aux divers tableaux.
J'ajoute ces commentaires pour les lecteurs qui seraient encore plus perdus que moi dans les formules.
Encore merci.
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090 > Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023
14 avril 2020 à 15:28
Si tu as copié-collé ma formule, le signe = en fait partie !
0
Jeansaigne Messages postés 59 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 30 octobre 2023 > Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024
14 avril 2020 à 16:31
Oui, effectivement mais si je clique dans la cellule et colle la formule telle quelle, j'obtiens la mention "#valeur!". Si j'y introduis d'abord "=" puis "coller", j'obtiens alors la donnée corrigée en numérique, à condition d'avoir supprimé un des deux signes "=" comme le propose d'ailleurs le message d'erreur qui apparaît. Le plus simple est donc d'introduire manuellement "=" puis coller la formule sans son signe "=" et sans oublier d'y identifier la cellule de départ des données à transformer.
C'est le fruit de mon expérience de mise en oeuvre de la belle solution que vous m'avez envoyée mais j'y commets peut-être une interprétation défaillante. En tout cas, elle m'offre le résultat escompté. Merci encore.
0