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
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)
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
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 :
La formule pour la 1ère solution :
- en une seule formule, mais avec une Mise en Forme Conditionnelle pour masquer les messages d'erreur
- en deux formules, dont une nommée.
=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
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 :
La formule pour la 1ère solution :
- en une seule formule, mais avec une Mise en Forme Conditionnelle pour masquer les messages d'erreur
- en deux formules, dont une nommée.
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.
@+
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
@+