[Résolu] Renseigner colonne depuis une chaîne de caractères
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.
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.
-
- NOOuvel adepte
- Messages : 20
- Inscription : 08 août 2017 09:17
[Résolu] Renseigner colonne depuis une chaîne de caractères
Bonjour à tous,
Je reviens une nouvelle fois vers vos compétences afin de résoudre une difficulté (pour moi du moins ).
J’ai une colonne dans laquelle il y a plusieurs mots et caractères qui représentent un libellé. Dans la colonne suivante je dois définir le type de mouvement à partir d’une suite de caractère de la colonne précitée.
Exemple :
Colonne A :
VIR 7510505487
VST 541154876
VIR 2165831321
VIREMENT 124887984
VERST 2515
VST 565464
VIR 448596514
PRLV 554
PRELEVEMENT 263514654
PRELEV 65463546
VIRT 68465464
Colonne B : je veux définir que si la colonne A a ou contient VIR ou VIREMENT ou VIRT = VIREMENT ; S’il y a VERST ou VERSEMENT ou VST = VERSEMENT ; s’il y a PRLV ou PRELEV = PRELEVEMENT
J’ai essayé avec RECHERCHEV mais comme je n’ai pas de valeur absolue il met #N/D, et quand je choisi valeur la plus proche cela ne correspond pas au type d’opération.
Ou sinon je pensais avec la fonction SI mais je pense qu’il faut rédiger une formule imbriquée. Non ?
J’espère avoir été explicite. Je vous joins le fichier en question.
Je vous remercie par avance.
Je reviens une nouvelle fois vers vos compétences afin de résoudre une difficulté (pour moi du moins ).
J’ai une colonne dans laquelle il y a plusieurs mots et caractères qui représentent un libellé. Dans la colonne suivante je dois définir le type de mouvement à partir d’une suite de caractère de la colonne précitée.
Exemple :
Colonne A :
VIR 7510505487
VST 541154876
VIR 2165831321
VIREMENT 124887984
VERST 2515
VST 565464
VIR 448596514
PRLV 554
PRELEVEMENT 263514654
PRELEV 65463546
VIRT 68465464
Colonne B : je veux définir que si la colonne A a ou contient VIR ou VIREMENT ou VIRT = VIREMENT ; S’il y a VERST ou VERSEMENT ou VST = VERSEMENT ; s’il y a PRLV ou PRELEV = PRELEVEMENT
J’ai essayé avec RECHERCHEV mais comme je n’ai pas de valeur absolue il met #N/D, et quand je choisi valeur la plus proche cela ne correspond pas au type d’opération.
Ou sinon je pensais avec la fonction SI mais je pense qu’il faut rédiger une formule imbriquée. Non ?
J’espère avoir été explicite. Je vous joins le fichier en question.
Je vous remercie par avance.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par gyltar le 07 sept. 2017 08:30, modifié 2 fois.
LibreOffice version 6.4.7.2
Ubuntu 20.04.5 LTS
Ubuntu 20.04.5 LTS
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: renseigner une colonne à partir d'une chaine de caractèr
Salut,
Il suffit de faire ton tableau de correspondance avec tous les cas de figure rencontrés.
Il suffit de faire ton tableau de correspondance avec tous les cas de figure rencontrés.
-
- NOOuvel adepte
- Messages : 20
- Inscription : 08 août 2017 09:17
Re: renseigner une colonne à partir d'une chaine de caractèr
euh ça me parait carrément impossible car chaque opération porte une chaine de caractère différente avec seulement VIR VERST etc... en commun. Dans ce cas mieux vaut que je renseigne moi-meme chaque ligne... et là c'est la fin du monde parce que j'ai beaucoup, mais alors beaucoup de lignes (+ de 2000).Dude a écrit :Salut,
Il suffit de faire ton tableau de correspondance avec tous les cas de figure rencontrés.
LibreOffice version 6.4.7.2
Ubuntu 20.04.5 LTS
Ubuntu 20.04.5 LTS
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: renseigner une colonne à partir d'une chaine de caractèr
Bonjour,
Pour extraire les caractères du début du Libellé :
Puis essayer par Rechercher Remplacer dans la colonne.
Il y a moins de 10 passages à faire, ce qui est rapide, et peut être automatisé par une Macro.
Pour extraire les caractères du début du Libellé :
Code : Tout sélectionner
=GAUCHE(A2;CHERCHE(" ";A2;1)-1)
Il y a moins de 10 passages à faire, ce qui est rapide, et peut être automatisé par une Macro.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jeanmimi le 09 août 2017 12:49, modifié 2 fois.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- HédOOniste
- Messages : 1666
- Inscription : 15 déc. 2010 08:33
Re: renseigner une colonne à partir d'une chaine de caractèr
bonjour
une première piste si un espace sépare le type d'opération
une première piste si un espace sépare le type d'opération
Code : Tout sélectionner
=RECHERCHEV(GAUCHE(A2;TROUVE(" ";A2)-1);$A$16:$B$25;2;0)
OpenOffice 4.1.14 sous Windows 10
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: renseigner une colonne à partir d'une chaine de caractèr
Bonjour,
Une solution par formule matricielle (à valider par ctrl+alt+entrée) :
Cordialement.
Une solution par formule matricielle (à valider par ctrl+alt+entrée) :
Code : Tout sélectionner
=INDEX($B$16:$B$22;EQUIV(0;ESTERR(CHERCHE($A$16:$A$22;A2;0));0);0)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- GourOOu
- Messages : 9629
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Re: renseigner une colonne à partir d'une chaine de caractèr
Bonjour à tous,
HS : lorsque Dude te parle d’un tableau de correspondance, il s’agit bien du glossaire qui existe dans ton fichier
Une variante matricielle, en B2 et suivantes :Fonction matricielle à valider par Ctrl + Maj + Entrée, presser Ctrl lors de la recopie.
Cependant, le plus simple me semble de faire un glossaire abrégé :
Et du coup, une simple fonction RECHERCHEV fait le travail, en B2 et suivantes :
Il s’agit là d’une fonction standard à valider par Entrée
A +
HS : lorsque Dude te parle d’un tableau de correspondance, il s’agit bien du glossaire qui existe dans ton fichier
Une variante matricielle, en B2 et suivantes :
Code : Tout sélectionner
=INDEX($A$15:$B$22;EQUIV(GAUCHE(A2;3);GAUCHE($A$15:$A$22;3);0);2)
Cependant, le plus simple me semble de faire un glossaire abrégé :
Et du coup, une simple fonction RECHERCHEV fait le travail, en B2 et suivantes :
Code : Tout sélectionner
=RECHERCHEV(GAUCHE(A2;3);$B$15:$C$22;2;0)
A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- NOOuvel adepte
- Messages : 20
- Inscription : 08 août 2017 09:17
Re: renseigner une colonne à partir d'une chaine de caractèr
Bonjour à tous,
Je rentre de vacances seulement. Merci pour les formules. A moi de comprendre la fonctionnalité GAUCHE et y a plus qu'à !
Encore merci à tous.
Gylt
Je rentre de vacances seulement. Merci pour les formules. A moi de comprendre la fonctionnalité GAUCHE et y a plus qu'à !
Encore merci à tous.
Gylt
LibreOffice version 6.4.7.2
Ubuntu 20.04.5 LTS
Ubuntu 20.04.5 LTS
-
- NOOuvel adepte
- Messages : 20
- Inscription : 08 août 2017 09:17
Re: renseigner une colonne à partir d'une chaine de caractèr
gyltar a écrit :Bonjour à tous,
Je rentre de vacances seulement. Merci pour les formules. A moi de comprendre la fonctionnalité GAUCHE et y a plus qu'à !
Encore merci à tous.
Gylt
Bonjour,
J'ai crié victoire trop vite ! en effet dans mes chaînes de caractères la formule GAUCHE ne fonctionne pas parce que de nombreuses lignes ne commence pas par VIREMENT, ESP, etc... Exemple : "TAXES ZY23 00001 TAXES ZY23 00001 PREL. SOCIAUX 15.50% +PRELEVEMENT IR 24.00%". Dans ce type de ligne PRELEVEMENT n’apparaît que beaucoup plus loin.
La formule =RECHERCHEV(GAUCHE(A2;3);$B$15:$C$22;2;0) (qui prend que les trois premiers caractères ) est donc inapplicable. Du coup je me demandais si avec une formule du genre =RECHERCHEV(TROUVE("ESP" ou VIR_______);$B$15:$C$22;2;0)... je ne pourrais pas y arriver. Cependant avec TROUVE je n'ai le choix sur un terme alors qu'il faut que je lui donne le choix sur plusieurs).
Je ne sais pas si j'ai été clair.
Merci par avance et j'espère que vous avez tous fait une bonne rentrée.
G.
LibreOffice version 6.4.7.2
Ubuntu 20.04.5 LTS
Ubuntu 20.04.5 LTS
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: renseigner une colonne à partir d'une chaine de caractèr
Donc bis repetita... : https://forum.openoffice.org/fr/forum/v ... 27#p299127.gyltar a écrit :Dans ce type de ligne PRELEVEMENT n’apparaît que beaucoup plus loin.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- GourOOu
- Messages : 9629
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Re: Renseigner colonne depuis une chaîne de caractères
Avec une très légère modif de la formule matricielle d’Hubert Lambert :
Veiller à ce que soit coché Outils > Options > Calc > Calculer > Autoriser les caractères génériques.
Attention, car avec le texte :
A +
Code : Tout sélectionner
=INDEX($B$15:$B$22;EQUIV(0;ESTERR(CHERCHE(".*"&$A$15:$A$22&".*";A2));0);0)
Attention, car avec le texte :
les 3 premières lettres d’ESPACE renvoient à ESPÈCES, il faut donc bien définir ton glossaireTAXES ZY23 00001 ESPACE TAXES ZY23 00001 PREL. SOCIAUX 15.50% +PRELEVEMENT IR 24.00%
A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- NOOuvel adepte
- Messages : 20
- Inscription : 08 août 2017 09:17
Re: renseigner une colonne à partir d'une chaine de caractèr
Bonjour,Hubert Lambert a écrit :Donc bis repetita... : https://forum.openoffice.org/fr/forum/v ... 27#p299127.gyltar a écrit :Dans ce type de ligne PRELEVEMENT n’apparaît que beaucoup plus loin.
Effectivement, j'avais initialement mal recopier la formule ! quelle buse suis-je !!
Merci beaucoup Hubert Lambert !!
Merci à tous d'avoir trouvé une solution à mon problème.
G.
LibreOffice version 6.4.7.2
Ubuntu 20.04.5 LTS
Ubuntu 20.04.5 LTS