[Résolu] extraire des montants d'une chaine de caractères

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.

[Résolu] extraire des montants d'une chaine de caractères

Messagepar miche17600 » 28 Sep 2021 14:57

Bonjour à tous,
Nouveau sur ce forum j'ai un (petit) problème à vous soumettre. Je n'arrive pas à le résoudre entièrement.
D'une application tierce, je reçois cette suite de montants : 125,00€/300,00€ ou 75,00€/180,00€. Le somme placée avant le slash correspond à la somme réglée à l'association par un adhérent et celle placée après le slash la somme totale due par celui-ci. J'aimerais trouver une fonction ou une astuce qui me permettrait de placer la somme réglée dans la cellule d'une colonne et sur une autre colonne la somme totale due. Ceci me permettrait d'effectuer la somme totale entrée dans nos comptes et la somme totale qui nous reviendra quand tous les adhérents auront payé leurs cotisations. Le nombre d'adhérents est conséquent et m'oblige à de multiples contrôles.
J'ai essayé la fonction GAUCHE et TROUVE ainsi que DROITE et TROUVE mais comme la chaîne de chiffres n'est pas la même (parfois 3, 4 ou 5 chiffres une virgule et €) j'ai parfois le slash qui s'affiche dans ma cellule et qui perturbe ma somme totale.
De plus, lorsque je recopie mon gauche ou droite sur les cellules ou il n'y a rien j'ai un #VALEUR! qui s'affiche, et ça c'est moche :evil: .
Je joins un exemple.
Si quelqu'un peut m'aider, j'en serais ravi.
Par avance je vous remercie.
Agréable journée à tous.
Pièces jointes
Tableau démo.ods
exemple de mon problème
(12.09 Kio) Téléchargé 12 fois
Dernière édition par micmac le 29 Sep 2021 08:04, édité 2 fois.
Raison: [Résolu] remplace RESOLU
OpenOffice 4.1.5 sous Windows 10 famille 20h2
miche17600
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 28 Sep 2021 14:01

Re: extraire des montants d'une chaine de caractères

Messagepar njhub » 28 Sep 2021 15:32

Bonjour miche17600,

essayez les formules ci-dessous :

formule B2
Code : Tout sélectionner   AgrandirRéduire
=SI(A2="";"";GAUCHE(A2;TROUVE("€/" ;A2))*1)


formule C2
Code : Tout sélectionner   AgrandirRéduire
=SI(A2="";"";SUBSTITUE(DROITE(A2;NBCAR(A2)-(TROUVE("€/";A2)+1));"€";"")*1)


miche17600.png


:wink:
LibreOffice 7.1.5.2/ (x64) FR-YT 15/08/21
OS : Windows 10.0
njhub
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 340
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

Re: extraire des montants d'une chaine de caractères

Messagepar Jeff » 28 Sep 2021 17:24

Bonjour,

Autre possibilité :

    Copier directement les montants en colonnes B, les sélectionner, appeler le menu Données > Texte en colonnes, et préciser le / comme séparateur :

    Capture d’écran du 2021-09-28 18-21-20.png
    Cliquer sur l'image pour zoomer


    Résultat après validation :

    Capture d’écran du 2021-09-28 18-23-39.png

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.11 sur Ubuntu 20.04.03 x64 (Focal Fossa), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8618
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: extraire des montants d'une chaine de caractères

Messagepar miche17600 » 28 Sep 2021 17:48

Bonjour Messieurs,
Je vous remercie d'avoir pris de votre temps pour regarder mon problème. Cependant, j'ai fait un copier coller de la formule dans la cellule B2 puis j'ai fait pareil pour la cellule C2 mais cela ne fonctionne pas. J'ai un message d'erreur. J'ai recommencé plusieurs fois mais c'est toujours pareil et là, je suis dépassé !
Quant à la deuxième solution, elle est presque aussi lourde que celle actuellement employée (plusieurs centaines d'adhérents...), c'est-à-dire, copie du premier chiffre dans la colonne contigüe puis copie du second chiffre. Je cherche à gagner du temps et être sur des montants recopiés. Si une macro peut copier la cellule A2 dans la cellule B2 puis actionne "Données" "Texte en colonnes" et gère la barre de fraction puis valide, ça serait l'idéal. Mais je n'en suis pas encore là.
Néanmoins, je vous remercie.
Belle soirée à vous.
OpenOffice 4.1.5 sous Windows 10 famille 20h2
miche17600
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 28 Sep 2021 14:01

Re: extraire des montants d'une chaine de caractères

Messagepar Jeff » 28 Sep 2021 18:33

Je pensais que les montants étaient copiés par tes soins en colonne A, aussi je ne voyais pas d'inconvénient à les coller directement en colonne B...

miche17600 a écrit:D'une application tierce, je reçois cette suite de montants
De quel façon ? Fichier csv ?
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.11 sur Ubuntu 20.04.03 x64 (Focal Fossa), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8618
Inscrit le : 18 Sep 2006 10:40
Localisation : France

Re: extraire des montants d'une chaine de caractères

Messagepar zeguedon » 28 Sep 2021 19:14

Bonjour,

Pour la colonne B, ça devrait aller mieux comme ça :
Code : Tout sélectionner   AgrandirRéduire
=SI(A2="";"";CNUM(GAUCHE(A2;TROUVE("€/";A2))))

et pour la colonne C :
Code : Tout sélectionner   AgrandirRéduire
=SI(A2="";"";CNUM(DROITE(A2;NBCAR(A2)-1-TROUVE("€/";A2))))

@+
Comment baliser [Résolu] ?
AOO 4.1.10
LibreOffice 7.1.5.2
Sous Linux & Windows 10
zeguedon
ManitOOu
ManitOOu
 
Message(s) : 2811
Inscrit le : 02 Juil 2014 18:25

Re: extraire des montants d'une chaine de caractères

Messagepar miche17600 » 29 Sep 2021 07:54

Bonjour à tous,
Ca y est, mon problème est résolu, ça fonctionne parfaitement.
Merci à tous et surtout tous mes remerciements et mes félicitations.
Grand merci à Zeguedon qui a réussi à me sortir de cette ornière.
Excellente journée à tous et peut-être à bientôt.
OpenOffice 4.1.5 sous Windows 10 famille 20h2
miche17600
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 28 Sep 2021 14:01


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 18 invité(s)