tris de texte entre slashs par type de données  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

tris de texte entre slashs par type de données  Sujet résolu

Messagepar maxibestof » 11 Août 2009, 11:18

Bonjour !

Décidemment, j'ai beaucoup de questions avec excel ces temps-ci ! :wink:

Alooooors, je viens de recevoir une base de données à traiter et "Ô rage, Ô désespoir", je me retrouve avec une colonne qui contient plusieurs données séparées par des slashs. Et cette colonne rend pour l'instant cette BDD inexploitable.

C'est à dire que je me retrouve avec une colonne de ce style :

xx/xxx/xx
xx
xxx/xx
xx/xxx/xxx

Ces données sont de deux types (fruits / légumes pour imager)
J'ai une liste des fruits et une liste des légumes.

J'aimerais que pour chaque cellule du type : fruit/legume/legume/fruit ou legume/fruit (bref, pour toutes les compositions posibles de fruits et légumes) j'obtienne un tableau comme ça.

composition panier_______FRUIT 1___FRUIT 2____LEG 1___LEG 2___FRUIT 3___LEG 3
abricot/courgette/pomme___abricot____pomme___courgette
carotte/fraise____________fraise______________carotte

Voici le fichier en question :
http://www.excel-pratique.com/~files/do ... fruits.xls


Si qqn peut me venir en aide, ça me serait d'une aide précieuse :D
Merci d'avance !
Dernière édition par maxibestof le 17 Août 2009, 17:33, édité 1 fois.
maxibestof
Utilisateur occasionnel
 
Messages: 23
Inscription: 20 Juil 2009, 10:02
Version Excel: 2003 EN

Messagepar haonv » 11 Août 2009, 14:59

bonjour au forum ,

Une solution ici avec des colonnes intermédiaires .
A adapter à ton fichier.
http://www.excel-pratique.com/~files/do ... bestof.xls
Si problème , n'hésite pas à revenir .

Amicalement
haonv
Membre dévoué
 
Messages: 575
Inscription: 02 Déc 2007, 11:04
Localisation: Gard originaire de Loire
Version Excel: excel 2007 FR et 2003 FR

Messagepar maxibestof » 11 Août 2009, 16:42

Hello,

Tout d'abord, merci d'avoir pris le temps de m'aider, c'est très aimable de ta part !
Je suis en train de décortiquer tout ce que tu as fait afin d'ensuite l'appliquer à mon fichier.

Cependant, je ne retrouve pas la fonction STEXTE dans mon Excel 2003 EN
il y a bien MID qui est l'équivalent anglais de la fonction fr STXT, mais il ne me semble pas que ça soit la même fonction :?
maxibestof
Utilisateur occasionnel
 
Messages: 23
Inscription: 20 Juil 2009, 10:02
Version Excel: 2003 EN

Messagepar haonv » 11 Août 2009, 21:50

Re ,

Désolé , je me suis servi de la version 2007,où il existe la formule "stexte".Elle n'est pas dans les versions antérieures.
Mais tu peux arriver au même résultat en procédant ainsi :
Tu copies ta colonne "I" et la colle en colonne "C".
Tu sélectionnes "C7:C12"
Puis tu vas sous l'onglet "données" "convertir"
tu coches "délimité" puis "suivant"
Sous autre, tu saisis "/" et coche bien sur "autre", puis "suivant".
puis "terminé"
L'inconvénient de cette solution :il faudra refaire cette opération si tu modifies ta liste de départ.Avec la formule stexte,la mise a jour était automatique.

Amicalement
haonv
Membre dévoué
 
Messages: 575
Inscription: 02 Déc 2007, 11:04
Localisation: Gard originaire de Loire
Version Excel: excel 2007 FR et 2003 FR

Messagepar Amadéus » 11 Août 2009, 21:54

Bonsoir

Devant l'absence de réponse, je me permet d'intervenir..

En effet, cette fonction, développée par Laurent Longre en vue d'intégration pour excel 2007 dans les Macros complémentaires Morefunc n'est pas dans excel avant 2007.Elle est téléchargeable en français et semble-t-il, également en version anglaise sur:

http://www.01net.com/telecharger/window ... 32813.html

Cependant, si tu n'as pas cette possibilité, tu peux encore t'en tirer en convertissant les formules que j'ai adapté sur le fichier en page "Sans_Morefunc" du fichier joint.

http://www.excel-pratique.com/~files/do ... bestof.xls
Edit; bonjour haonv..juste 4mn de retard (pour moi, bien sur)
second Edit: Je suis en 2003 et cette macro complémentaire fonctionne parfaitement
Cordialement
Amadéus
Modérateur
 
Messages: 10875
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Messagepar haonv » 11 Août 2009, 22:36

Bonsoir a tous
Bonsoir Amadeus,

j'étais en train de chercher une autre solution avec stxt genre :
=STXT($I7;1;CHERCHE("/";$I7&"/";1)-1) en C7
Je suis en train de l'adapter a D7 et E7,mais je bute à un endroit. Je chercherai plus tard;Ce soir je n'arrive plus a me concentrer.
Edit: Amadeus , je viens de regarder ton fichier;j'abandonne vraiment pour ce soir...
Bonne soirée a tous.
haonv
Membre dévoué
 
Messages: 575
Inscription: 02 Déc 2007, 11:04
Localisation: Gard originaire de Loire
Version Excel: excel 2007 FR et 2003 FR

Messagepar haonv » 12 Août 2009, 07:16

bonjour le forum ,

Bien qu'Amadeus ait déjà résolu le problème (comme souvent), je joins tout de même ,pour le fun, une autre solution.
http://www.excel-pratique.com/~files/do ... l_2003.xls

Amicalement
haonv
Membre dévoué
 
Messages: 575
Inscription: 02 Déc 2007, 11:04
Localisation: Gard originaire de Loire
Version Excel: excel 2007 FR et 2003 FR

Messagepar Amadéus » 12 Août 2009, 08:34

Bonjour haonv

Je reste tout de même persuadé que ton premier fichier est le bon et que maxibestof a, vu sa simplicité d'installation et d'utilisation, tout intérêt à Télécharger Morefunc sur sa version 2003 pour l'utiliser.

Cordialement
Amadéus
Modérateur
 
Messages: 10875
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Messagepar maxibestof » 12 Août 2009, 09:44

Bonjour !

Merci pour toutes ces réponses !
En effet, cette fonction STEXTE m'aurait beaucoup aidé, seulement, je n'ai pas la possibilité d'installer celle-ci (cela nécessite des droits administrateurs que je n'ai pas).

D'autre part, puisque mes collègues ont Excel 2003 EN et que je me dois de leur laisser un fichier utilisable, je vais devoir me passer de cette fonction. Ca serait "compliqué" pour un stagiaire, de leur demander de télécharger des fonctions Excel. D'autant plus qu'ils n'ont pas tous eux non plus, les droits administrateurs requis.:wink:

Dans tout les cas, je vous remercie du temps que vous avez pris pour moi, et je m'en vais de ce pas étudier les solutions alternatives proposées !
Je sens que la café va m'être utile ce matin !
Bonne journée à vous !

Merci à tous, je vous tiens au courant.
maxibestof
Utilisateur occasionnel
 
Messages: 23
Inscription: 20 Juil 2009, 10:02
Version Excel: 2003 EN

Messagepar maxibestof » 12 Août 2009, 10:24

=IF(ISERROR(MID($I7,1,SEARCH("/",$I7&"/",1)-1)),"",MID($I7,1,SEARCH("/",$I7&"/",1)-1))

Me revoilà déjà !
Dans ta formule, une seule chose me gêne c'est l'utilisation du &"/" dans la formule SEARCH au moment de spécifier la cellule de référence

D'autre part, si j'ai bien compris, tu obtiens de la fonction search la position de la lettre juste avant le slash, ce qui équivaut au nombre de caractères du "fruit" ou du "légume", et la fonction MID te renvoie ce mot !
C'es très ingénieux pour un novice d'Excel comme moi !
maxibestof
Utilisateur occasionnel
 
Messages: 23
Inscription: 20 Juil 2009, 10:02
Version Excel: 2003 EN

Suivante

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], fizouFL, Google [Bot], Google Adsense [Bot], messondewez, michellehm, Sebou et 48 invités