Couper une phrase longue en deux ou trois

bon jour

svp

la phrase (parmis d'autre) de couper en deux ou trois et attribuer les cellus respective.

"18.05.1878 -- La Colombie accorde une concession à la France pour le percement du canal de Panama."

elle est dans un tableau

1. colonne = date

2. colonne = txt

l'extraction se fait avec la comande :

A

{=DECALER(AA2;EQUIV(U16;AA2:AA14;1)-1;1)} [ce OKAY] donc pas de probleme

B

dans la cellule a visualiser :

j'ai sa pour l'unstant :

=SI(et<1582;" --- Date non resolus --- ";"men : "!AB15) [idem ce OKAY]

pour parvenir :

compter les espace intermediere.

et leur longer total (suivant la longeur diponible pour les nouvelle phrase couper)

apres je doit jouer avec les

=si(......; &lingne 1

sinon(........; &ligne 2

sinon(.......; &ligne 3

sinon(...........;voir plus ?

merci pour votre aide

arnold

4extraction.xlsx (8.43 Ko)

Bonjour,

Peux-tu joindre un extrait de ton fichier avec quelques données.

Car tu fais référence dans ta formule à des cellules dont on ignore le contenu : U16, AB15, ...

Un fichier, avec une explication plus précise sur ce que tu veux obtenir, devrait permettre de trouver une solution

A te (re)lire

@+

bonjour @thibo

l'U16 vient du tableau principal

joindre le fichier : enfin j'ai compris...........

https://www.excel-pratique.com/~files/doc/TdLjitableau.xlsx

merci

arnold

Bonsoir,

Bonsoir, Thibo

dans ta formule EQUIV, en mettant 1, tiré de l'aide :

type est le nombre -1, 0 ou 1 qui indique comment Microsoft Excel doit procéder pour comparer l'argument valeur_cherchée aux valeurs de l'argument matrice_recherche.

Si la valeur de l'argument type est 1, la fonction EQUIV trouve la valeur la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre croissant : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.

Si la valeur de l'argument type est 0, la fonction EQUIV trouve la première valeur exactement équivalente à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.

Si la valeur de l'argument type est -1, la fonction EQUIV trouve la plus petite valeur qui est supérieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre décroissant : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.

Si l'argument type est omis, la valeur par défaut est 1.

donc, en mettant 0 :

=DECALER(B12;EQUIV(B6;B12:B24;0)-1;1)

On obtient bien le bon commentaire (si j'ai bien compris)

4test-excel.xlsx (12.38 Ko)
felix a écrit :

Bonsoir,

Bonsoir, Thibo

dans ta formule EQUIV, en mettant 1, tiré de l'aide :

type est le nombre -1, 0 ou 1 qui indique comment Microsoft Excel doit procéder pour comparer l'argument valeur_cherchée aux valeurs de l'argument matrice_recherche.

Si la valeur de l'argument type est 1, la fonction EQUIV trouve la valeur la plus élevée qui est inférieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre croissant : ...-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI.

Si la valeur de l'argument type est 0, la fonction EQUIV trouve la première valeur exactement équivalente à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche peuvent être placées dans un ordre quelconque.

Si la valeur de l'argument type est -1, la fonction EQUIV trouve la plus petite valeur qui est supérieure ou égale à celle de l'argument valeur_cherchée. Les valeurs de l'argument matrice_recherche doivent être placées en ordre décroissant : VRAI, FAUX, Z-A, ..., 2, 1, 0, -1, -2, ..., et ainsi de suite.

Si l'argument type est omis, la valeur par défaut est 1.

donc, en mettant 0 :

=DECALER(B12;EQUIV(B6;B12:B24;0)-1;1)

On obtient bien le bon commentaire (si j'ai bien compris)

b soir @felix

ce tres bien expliquer

mais la suit je fait comment ?

t'a une idee ?

bonne nuit

@+

arnold

Bonjour,

Le fichier joint est au format 2007, ce qui fait que beaucoup d'entre nous ne peuvent l'ouvrir.

Peux-tu l rejoindre enregistré au format 2003.

Ca multipliera ainsi les nombre de personnes qui pourront le regarder et augmenter les chances de réponse.

A te (re)lire

@+

thibo a écrit :

Bonjour,

Le fichier joint est au format 2007, ce qui fait que beaucoup d'entre nous ne peuvent l'ouvrir.

Peux-tu l rejoindre enregistré au format 2003.

Ca multipliera ainsi les nombre de personnes qui pourront le regarder et augmenter les chances de réponse.

A te (re)lire

@+

bon jour @thibo

mes excuse.

annule est remplace la version ulterieur ! (tableau.xlsx)

ci-joint :

https://www.excel-pratique.com/~files/doc/cOlVPtableau.xls

bonne journee

@+

arnold

1kat.zip (25.88 Ko)

re,

Pas sûr d'avoir bien compris ce que tu voulais.

Un essai avec cette formule en C7 :

=SI(NB.SI($B$10:$B$22;$B$7)<LIGNE()-6;"";INDEX($C$10:$C$22;EQUIV(PETITE.VALEUR(SI(($B$10:$B$22=$B$7)*LIGNE($B$10:$B$22)<>0;($B$10:$B$22=$B$7)*LIGNE($B$10:$B$22));LIGNE()-6);($B$10:$B$22=$B$7)*LIGNE($B$10:$B$22);0)))

Formule matricielle à valider par CTRL + MAJ + ENTREE

à recopier vers le bas

Si pas ça, donnes nous un exemple plus précis de ce que tu souhaites obtenir.

@+

bonjour @thibo

ta formule en elle meme pos pas de probleme ! tres bonne travaille assiste

avec la date de 1.7.2002 la phrase va de la colonne de C à W, sans plus.

elle ne pas couper en plusieur partie. donc l'effet est le meme

actuellement la largueur de la cellule est de 10.71 (standart).

je pourais utilise maxi (?) 8 colonne pour chaque info mais represente

en plusieur ligne, de 2 à 4 ligne.

merci de lu mon mess

@+

arnold

re,

Peux-tu rejoindre ton fichier en mettant manuellement (et en rouge par exemple) le résultat que tu souhaites.

Bon app

@+

Bonjour Arnold,

Sujet très intéressant que tu nous a proposé.

Je te propose deux solutions avec formules matricielles :

- en une seule formule, mais avec une Mise en Forme Conditionnelle pour masquer les messages d'erreur

- en deux formules, dont une nommée.

La formule pour la 1ère solution :

=STXT(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>NB.SI($B$2:$B$14;$B$25);9^9;0);9^9);1;MAX(((STXT(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>$B$25;9^9;0);9^9);LIGNE(INDIRECT("1:"&$B$23));1)&SI(NBCAR(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>$B$25;9^9;0);9^9))<$B$23;" ";""))=" ")*LIGNE(INDIRECT("1:"&$B$23))))

Mieux vaut voir le fichier :

https://www.excel-pratique.com/~files/doc/arnold.zip

Je te laisse regarder

@+

thibo a écrit :

Bonjour Arnold,

Sujet très intéressant que tu nous a proposé.

Je te propose deux solutions avec formules matricielles :

  • en une seule formule, mais avec une Mise en Forme Conditionnelle pour masquer les messages d'erreur
  • en deux formules, dont une nommée.
La formule pour la 1ère solution :
=STXT(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>NB.SI($B$2:$B$14;$B$25);9^9;0);9^9);1;MAX(((STXT(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>$B$25;9^9;0);9^9);LIGNE(INDIRECT("1:"&$B$23));1)&SI(NBCAR(STXT(INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1);TROUVE(C25;INDEX($C$2:$C$14;EQUIV($B$25;$B$2:$B$14;0)+NB.SI($C$25:C25;"")-1))+NBCAR(C25)+SI(NB.SI($C$25:C25;"")>$B$25;9^9;0);9^9))<$B$23;" ";""))=" ")*LIGNE(INDIRECT("1:"&$B$23))))

Mieux vaut voir le fichier :

https://www.excel-pratique.com/~files/doc/arnold.zip

Je te laisse regarder

@+

bonjour @thibo

il y a des CHEF parmis des chef ?

mais NON vous s'être tous de CHEF !

j'aurais jamais imaginer que sa vas donner autant de Sueurs chaudes.

un tres grand merci a vous tous. t'avait parfaitment resolu cette tache.

j'ai hate d'inclure ces code dans le prototype, apres vous pouvait donne un jugement pour l'ensemble.

[resolut]

bonne journee a vous

@+

arnold

thibo a écrit :

Bonjour Arnold,

Sujet très intéressant que tu nous a proposé.

Je te propose deux solutions avec formules matricielles :

  • en une seule formule, mais avec une Mise en Forme Conditionnelle pour masquer les messages d'erreur
  • en deux formules, dont une nommée.
La formule pour la 1ère solution :

Mieux vaut voir le fichier :

https://www.excel-pratique.com/~files/doc/arnold.zip

Je te laisse regarder

@+

bon jour @thibo

voix-ci

un aperçu......

pour la presentation, t'a fait un chef d'oeuvre !

parcontre je me fache avec l'index

le deuxieme paragrphe en bas droit ce ne pas la meme date (du 6.5.2005)

je doit separe les annee ? et de le mettre en ordre? (filtre d' A - Z)

https://www.excel-pratique.com/~files/doc/PalendrierPerpetuelPic.jpg

en HTM ce interdit ?

bonne journe

arnold

@+

Bonjour,

J'ai regardé le résultat de ton travail. Ca a l'air très sympathique. Bravo pour la présentation.

En ce qui concerne les dates, il faut qu'elles soient triées.

Je pense qu'avec Excel 2007, on pourrait gérer sans que les dates soient triées, car cette dernière version d'Excel autorise davantage de niveaux d'imbrication. Etant sous Excel 2000, c'est ce qui m'a un peu bloqué dans la mise au point de la formule.

En ce qui concerne le HTML, bah, je ne sais pas.

Pour plus de précisions, il nous faudrait un extrait de ton fichier xls

@+

zut (en double......)

sorry

arnold

bonsoir @thibo

j'ai trouver le bon algo est j'ai importer les donner séquentiel.

les extraction (présentation) se font tres bien, Grâce a toi !

alors par les temps qu'est passer j'ai rencontre un probleme d'affichage.

les dates chercher j'ai les mis dans les divers entete donc ils sont trans mis constant. et la plus rien qui vas. tout devient aletoir pour la premier ligne afficher.

en autre les dates non renseigne me renvoyer en retour un N/A (on peut cacher sa?)

ce que sa marche aussi comme sa

ci joint le file:

https://www.excel-pratique.com/~files/doc/arnold.xls

bonne courage et merci

@+

arnold

Bonjour arnold,

Le problème est dû au fait que tes dates sont dispersées.

La formule détecte la 1ère date correspondante et prend les lignes suivantes.

Or, avec la formule proposée, il faut que les dates identiques soient regroupées.

Je pense qu'avec Excel 2007, on pourrait remédier au problème en modifiant la formule. Mais je n'ai pas Excel 2007.

@+

10etude.zip (25.27 Ko)

bonjour @thibo

mais t'est un rapide !

donc, est si je cree des sous-repertoir avec des hirarchie fix est a l'interieur avec une recherche sequentiele ?

-1er balayage au 1er sous repertoir si un fin d'extraction (null, neant, ...) et libre en suite le nombre stocker dans la memoir, et le compteur ce deplace avec le nouveau nombre stocke en memoir aux 2eme sous repertoir ...est au eniem sous repertoir vers la fin?

( un gendre de recherche multi critere ?)

ou cree un file auxliere en format txt et excel fait sa recherche dedans ?

il affichras toujour les entete meme si il n'y pas des resultat!

la raison ce de ne pas augmenter inutile le volume de base de donner et de profiter l'ergonomie d'excel. (se dramatique : 365 jours = 365 ligne par an )

si j'ai en peut de la chance d'autre lecteur ont des idee futur

merci

arnold

@+

Rechercher des sujets similaires à "couper phrase longue deux trois"