[Résolu] [Calc] Juste le dernier mot visible sur une phrase

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

[Résolu] [Calc] Juste le dernier mot visible sur une phrase

Message par Defiat »

Bonjour à tous

Alors voici une demande que je souhaiterai vous soumettre, j'ai pourtant chercher avec des fonctions diverses et variées mais aucune ne me permet d'aboutir au résultat escompté

Je suis à l'heure actuelle à la recherche d'une fonction permettant de prendre juste que le dernier mot d'une phrase.

Je m'explique, j'ai une série de mots comme:

R2D2 06/02/17 00:59 Bureau/cuisine/salon/troquet/escalier/cave/defiat 00:59:00 01/07/00 A@A,FR

tout ceci sur une ligne et dans divers cellules A1 à A6, dans la phrase colorée je souhaite supprimer les mots en rouge et garder visible le dernier mot après / en vert dans la démonstration au lieu de toute cette phrase qui est pas beau à voir lors de la consultation.

Cela sera fait sur plusieurs lignes d'une colonne.

Merci d'avance d'avoir lu mon message dans la bouteille à la mer et par avance merci si vous arrivez a solutionner mon petit soucis
Dernière modification par micmac le 18 févr. 2017 18:05, modifié 5 fois.
Raison : Ajout de la coche verte
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [CALC] Juste le dernier mot visible sur une prhase

Message par Dude »

Salut,

Pas besoin de macro pour ça, il te suffit de diviser ta cellule avec la fonction Texte en colonne en paramétrant le / comme séparateur.
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [CALC] Juste le dernier mot visible sur une prhase

Message par Defiat »

Merci Dude pour ta réponse rapide

J'ai fais comme tu as dis mais le problème ce que ça se divise en plusieurs colonnes avec des données dont je ne veux pas, j'ai juste besoin du dernier mot et surtout que ca n'efface pas le contenu des colonnes après.
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [CALC] Juste le dernier mot visible sur une prhase

Message par Dude »

Le problème, c'est que Mme Irma est en vacances au ski.
Image
Comment joindre un fichier au format ODF
Penser également à dépersonnaliser le fichier joint.
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [CALC] Juste le dernier mot visible sur une prhase

Message par Defiat »

Hehehe

Désolé j'avais zappé et c'est joliment dit :p

voici le fichier
Contacts.ods
J'espère que ca t'aideras
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Juste le dernier mot visible sur une prhase

Message par Dude »

Defiat a écrit :mais le problème ce que ça se divise en plusieurs colonnes avec des données dont je ne veux pas
Une colonne peut se masquer.
Defiat a écrit :et surtout que ca n'efface pas le contenu des colonnes après
Il suffit d'insérer le bon nombre de colonnes au départ.

Ton document ressemble étrangement à un CSV.
D'où viennent les données au départ ?
Il serait sans doute plus simple d'intervenir en amont.
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [Calc] Juste le dernier mot visible sur une prhase

Message par Defiat »

Oui c'est du CSV mais intervenir en amont devient plus que compliqué.
En effet ce sont des infos brutes qui arrivent avec un chemin d'arborescence
dont le dernier mot après anti-slash "/" est utile pour moi, c'est ce qui permet
d'avoir une lecture simple et rapide.
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Juste le dernier mot visible sur une prhase

Message par Dude »

Création d'une fonction pour extraire le dernier mot d'un chemin de type URL :

Code : Tout sélectionner

Function ExtraitFin(sChaine$)
	sElem() = Split(sChaine, "/")
	nDer = UBound(sElem)
	ExtraitFin = sElem(nDer)
End Functio
Fonction à appeler dans une colonne en spécifiant la cellule :
no_problemo.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [Calc] Juste le dernier mot visible sur une prhase

Message par Defiat »

Ahhhhhhhhhhhhh je suis fou c'est pas mal dans le sens ou comme tu le dis on peux cacher une colonne
par contre je vais passer pour un idiot mais comment je fais avec la fonction que tu as mis plz ?
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Dude »

Je t'invite à potasser les nombreux tutoriels si tu veux te lancer dans la programmation.
Par exemple avec l'introduction aux macros et au Basic

Mais bon dans ton cas, la macro, c'est le marteau pour écraser la mouche.

Je t'invite plutôt à poster dans la section Tableur. Il y a forcément une formule pour extraire cette information.
Une combinaison entre STXT, CHERCHE et NBCAR devrait résoudre ton problème plus simplement.
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par jeanmimi »

Bonjour,
Plutôt que vouloir extraire le dernier mot après le dernier /,
est-ce qu'il ne serait pas plus facile de faire Rechercher & Remplacer Bureau/cuisine/salon/troquet/escalier/cave/ par rien ?
 Ajout : L'enregistreur de Macro génère facilement le code, où il sera possible de modifier la chaîne de caractères pour garder ceux qui seront utiles :

Code : Tout sélectionner

REM  *****  BASIC  *****

sub NettoyerTexteInutile
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(20) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.SearchFiltered"
args1(4).Value = false
args1(5).Name = "SearchItem.Backward"
args1(5).Value = false
args1(6).Name = "SearchItem.Pattern"
args1(6).Value = false
args1(7).Name = "SearchItem.Content"
args1(7).Value = false
args1(8).Name = "SearchItem.AsianOptions"
args1(8).Value = false
args1(9).Name = "SearchItem.AlgorithmType"
args1(9).Value = 1
args1(10).Name = "SearchItem.SearchFlags"
args1(10).Value = 65536
args1(11).Name = "SearchItem.SearchString"
args1(11).Value = "Bureau/cuisine/salon/troquet/escalier/cave/"
args1(12).Name = "SearchItem.ReplaceString"
args1(12).Value = ""
args1(13).Name = "SearchItem.Locale"
args1(13).Value = 255
args1(14).Name = "SearchItem.ChangedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.DeletedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.InsertedChars"
args1(16).Value = 2
args1(17).Name = "SearchItem.TransliterateFlags"
args1(17).Value = 1280
args1(18).Name = "SearchItem.Command"
args1(18).Value = 3
args1(19).Name = "SearchItem.SearchFormatted"
args1(19).Value = false
args1(20).Name = "SearchItem.AlgorithmType2"
args1(20).Value = 2
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Visible"
args2(0).Value = false
dispatcher.executeDispatch(document, ".uno:SearchResultsDialog", "", 0, args2())
end sub
 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jeanmimi le 24 févr. 2017 09:27, modifié 2 fois.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par zeguedon »

Bonjour,
Dude a écrit :Il y a forcément une formule pour extraire cette information.
Par exemple :
Insérer une colonne vierge entre C et D et y coller cette formule puis masquer la colonne C :

Code : Tout sélectionner

=SI(NON(ESTERREUR(TROUVE("/";DROITE(C1;5))));STXT(DROITE(C1;5);TROUVE("/";DROITE(C1;5))+1;5);SI(NON(ESTERREUR(TROUVE("/";DROITE(C1;10))));STXT(DROITE(C1;10);TROUVE("/";DROITE(C1;10))+1;10);SI(NON(ESTERREUR(TROUVE("/";DROITE(C1;15))));STXT(DROITE(C1;15);TROUVE("/";DROITE(C1;15))+1;15);"***")))
Cette formule cherche par tranche de 5 caractères en partant de la droite, la présence du slash. Lorsqu’il est trouvé, ce qui se trouve à sa droite est extrait. S'il n'est pas trouvé dans les 15 derniers caractères (cas rare), trois astérisque (***) seront affichées pour le signaler.

A+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Defiat »

Bonjour

Je suis plus que content puisse que mon projet avance plus en une soirée qu'en 15 jours de recherches et d'essai :bravo:
Sur le mode Rechercher et Remplacer c'est pas mal mais c'est à faire à chaque fois et je suppose qu'il n'y a pas d'automatisme
avec ce mode ?

Sinon Zguedon a mit une formule intéressante mais qui me fait un problème de comptage puisse qu'il me compte 5 "Jean-Pierre"
alors qu'il en que 3, serait il peut être possible de prendre à partir du second slash ? ce qui réglerais le problème?
ou alors prendre tous les caractères après un mot qui reviens sur toutes mes lignes? du genre tous les mots après le mot "cave" comme ci après?

Bureau/cuisine/salon/troquet/escalier/cave/Jean-pierre
OpenOffice 4.1.3 sous Windows 7
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par zeguedon »

Bonjour,
Defiat a écrit :Sinon Zguedon a mit une formule intéressante mais qui me fait un problème de comptage puisse qu'il me compte 5 "Jean-Pierre"
Tu peux montrer une exemple concret ?

Cela m'étonne, la formule est sensée ne retourner que ce qui se trouve après le dernier slash et ne peux en aucun cas inventer un Jean-Pierre qui n'existe pas. Je suis curieux de voir ton fichier pour mieux comprendre.

A+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Defiat »

Bien bien comment expliquer ici que je suis du genre à ne pas déplier une notice jusqu au bout comme la ligne de commande :oops: ...

J'ai trouvé mon erreur: si dans :

Code : Tout sélectionner

=SI(NON(ESTERREUR(TROUVE("/";DROITE(D3;5))));STXT(DROITE(D3;5);TROUVE("/";DROITE(D3;5))+1;5);SI(NON(ESTERREUR(TROUVE("/";DROITE(D3;10))));STXT(DROITE(D3;10);TROUVE("/";DROITE(D3;10))+1;10);SI(NON(ESTERREUR(TROUVE("/";DROITE(D1;15))));STXT(DROITE(D1;15);TROUVE("/";DROITE(D1;15))+1;15);"***")))
je ne change pas les D3 partout au lieu de D1 une partie fonctionnera et l'autre non d'où l'erreur que j'ai eu, maintenant cela fonctionne à merveille :D . Par contre si je décide plus tard de changer de slash que dois je changer sur la formule plz ?

Cette méthode est plus que géniale mais je me trouve face à un soucis avec ma colonne masquée qui au niveau de l'aperçu et de l'impression n'apparait pas mais décale les colonnes suivante.
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12230
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Bidouille »

Votre problème n'a plus rien à voir avec les macros.
Merci de le passer en [Résolu] et de rouvrir un nouveau fil comme on vous le précise plus haut :
Dude a écrit :Je t'invite plutôt à poster dans la section Tableur.
Mettez un lien entre les 2 afin qu'on puisse suivre la solution.
Defiat
NOOuvel adepte
NOOuvel adepte
Messages : 22
Inscription : 17 févr. 2017 12:12

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Defiat »

D'accord mais pour le coup j'avais fais mon premier post dans la section tableur et un message d'erreur m'a demandé
de faire mon poste dans eponyme (dans mon souvernir) ce qui m'a rendu ici.

Merci je change de section
OpenOffice 4.1.3 sous Windows 7
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Résolu] [Calc] Juste le dernier mot visible sur une phr

Message par jeanmimi »

Defiat a écrit :Sur le mode Rechercher et Remplacer c'est pas mal mais c'est à faire à chaque fois et je suppose qu'il n'y a pas d'automatisme
avec ce mode ?
Qui dit automatisme, dit Macro. Elle peut être assignée à un évènement de la Feuille, ou elle peut être lancée par un clic sur un Bouton, etc ...
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Résolu] [Calc] Juste le dernier mot visible sur une phr

Message par Jeff »

Bonjour à tous,

Un peu à la bourre, une formule qui fonctionne avec les expressions régulières, et selon l’exemple fourni :

Code : Tout sélectionner

=GAUCHE(A1;CHERCHE("[:digit:][:space:][:alpha:]";A1)+1)&DROITE(A1;NBCAR(A1)-CHERCHE("[:alpha:]/[:alpha:]+[:space:]";A1)-1)
Defiat.png
Fichier joint en fin de message.

A +
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12230
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Calc] Juste le dernier mot visible sur une phrase

Message par Bidouille »

Defiat a écrit :Merci je change de section
Bis repetitae :
Bidouille a écrit :Mettez un lien entre les 2 afin qu'on puisse suivre la solution.
Suite ici : https://forum.openoffice.org/fr/forum/v ... =4&t=53929