Extraction de lettre

Bonjour,

dans le fichier, j'aimerais obtenir le résultat affiché dans les cellules fond jaune.

     ACHILLEA  crithmifolia                        Fanfelle            *F-AC-CRI
        AGASTACHE  AURANTIACA  KUDOS AMBROSIA    fanfelle            *F-AG-AU-KU-AM

ce que je veux obtenir c'est le résultat accolé des astérix. enlevé les astérix bien sur.

je sais par ou commencer par la fonction de gauche()&"-""joindre texte mais après je n'y arrive pas.

Merci de votre aide.

9exemple.xlsm (8.89 Ko)

Bonjour,

à tester,

dans une cellule,

=T_spécial(D6;C6)

dans le module1,

Function T_spécial(cel1 As Range, cel2 As Range) As String
t = Left(cel1.Value, 1) & "-"
v = Split(cel2.Value, " ")
For i = LBound(v) To UBound(v)
    x = Application.Trim(v(i))
    If v(i) <> "" Then
     t = t & Left(x, 2) & "-"
    End If
Next i
T_spécial = UCase(Left(t, Len(t) - 1))
End Function

bonjour

Merci pour votre réponse , je vais tester mais par formule est il possible de le faire ? en vous remerciant d avance

3exemple.xlsm (8.89 Ko)

re,

je ne crois pas,

voici l'exemple,

Bonjour Blancolie et bonjour Isabelle,

Une proposition à tester à mettre en G6

=GAUCHE(D6;1)& "-" & GAUCHE(C6;2)& "-"&MAJUSCULE(STXT(C6;CHERCHE(" ";C6;1)+1;3))

Cdt

Ha, je n'avais pas vu la deuxième ligne

Il faut passer par la proposition d'isabelle que je resalue;

Cdt

Rebonjour

Merci à vous 2,

c'est un fichier pour mon travail et le service informatique de l'entreprise ne souhaite pas qu'on se serve de macro a cause de vulnabilité qu'ouvre les macros.

C'est pour cela que je demande par formule

Bonjour à tous...

c'est quand même un peu contradictoire... tu fourni toi-même un fichier avec extension xlsm (donc qui contient peut contenir des macros) et après du informe qu'il n'est pas possible d'utiliser des macros...

Fred

oui car je crée le fichier sur mon mac perso. Sur mon mac perso, me derange pas. au travail, il ne souhaite pas qu'on le fasse. de plus cela s'enregistre sur cette version automatiquement. faut que je change ds les paramètres.

Re bonjour

Sans macro cela va être difficile...

De plus que la solution d'isabelle (que je salue) ne répond pas tout a fait à ta demande...

prenons le cas de la première ligne

ACHILLEA crithmifolia

tu veux

F-AC-CRI

donc pour le premier article tu veux les 2 premières lettres, et pour le 2e les 3 premières lettres..

pour la 2e ligne :

AGASTACHE AURANTIACA KUDOS AMBROSIA

tu veux

F-AG-AU-KU-AM

donc pour tous les articles les 2 premières lettres, comment savoir si tu veux les 2 premières ou 3 premières lettres ?? c'est en fonction de si c'est écrit en majuscule ou minuscule ???

edit :

de toute façon si ton entreprise n'autorise pas les macros cela va être vite réglé.... => impossible

cela va engendrer une formule a coucher dehors.....

Fred

Re bonjour

Non je veux Que le premier groupe comporte 4 premières lettres et les autres seulement 2 avec séparateur - et le tout en majuscule..

Voila le début de formule que j'utilise :=GAUCHE(D4)&"-"&GAUCHE(C4;4)&"-" = cela donne F-AGAS-

mais après pour avoir les autres groupes , je vois pas comment faire. J'hesite avec joindre avec l'association de stxt

J'ai un peu modifié ma demande , je trouve pour ceux qui connaissent bien les plantes, arriveront à reconnaitre le nom de la plante.

Tout en sachant que tout les plantes n'ont pas forcément Tous le même nombre de groupe.

Re Bonjour

Ci joint une proposition par formule....

mais fait dans le cadre ou il y a 4 éléments de texte max dans la colonne C.... et minimum 1....

si il peut y en avoir plus... je te laisse modifier la chose....

Pour cela, je t'ai laissé en colonne K et L le développement de la formule pour pouvoir extraire les différentes parties.... si il y a plus de 4 éléments de texte, cela te permettra de pouvoir faire la suite...

Tu verras la taille de la formule .... pour ces 4 éléments max...

Fred

1exemple.xlsm (9.57 Ko)

Merci fred, oui je vois effectivement que la formule est énormément Longue.

Re bonjour

je reviens avec ce fichier et la formule qui me plaît tres bien. Formule qui se sous la cellule code. j'ai réussi à la travailler un peu en rajoutant des espaces mais à la place des espaces, j'aimerais mettre un - et la je vois pas comment faire.

Avez vous une idée ? cette formule s’adapte tres bien à un groupe de 2 ou de 3.

la formule suivante :

SIERREUR(MAJUSCULE(GAUCHE(D4))&"-"&JOINDRE.TEXTE(" ";;MAJUSCULE(STXT(" "&SUPPRESPACE(C4);SI(STXT(" "&SUPPRESPACE(C4);LIGNE(INDIRECT("1:"&NBCAR(C4)));1)=" ";LIGNE(INDIRECT("1:"&NBCAR(C4)));NBCAR(C4)+1)+1;2)));"")

Merci à vous.

1exemple-2.xlsx (10.31 Ko)

BOnsoir

J'ai pas compris la question....

Formule qui se sous la cellule code. j'ai réussi à la travailler un peu en rajoutant des espaces mais à la place des espaces, j'aimerais mettre un - et la je vois pas comment faire.

un fichier avec un exemple est, à mon sens, plus parlant....

Fred

desole fred, il n a pas ete pris en compte mon fichier

1exemple-2.xlsx (10.31 Ko)

Bonsoir

c'est mieux il y a un fichier....

Je suppose que tu recherche a faire toujours la même chose.... mais maintenant tu es revenu avec 2 caractères pour le premier nom..... malgré le fait que les formules matricielles ne soient pas mon fort... je penses avoir corrigé ton problème.....

Fred

1exemple-2.xlsx (10.33 Ko)

qu'il faut être bête de ne pas avoir pensé à cela . la formule au départ ou tu as placé - entre les guillemets, il n 'y avait pas d'espace du tout et j'ai pas essaye de mettre -.

Apres, le début de la formule jusqu'a Si , j'ai compris. c'est après que je cherche à saisir ligne avec indirect et nbcar etc etc car la je peine

je n'ai pas envie de recopier bêtement la formule sans la comprendre car je vais surement devoir la refaire dans d'autre fichier.

si tu peu m'expliquer un peu pour mieux la cerner car je pourrais la modifier comme premier groupe : 4 lettres et les autres groupes en 2 lettres.

Par contre je ne sais pas si c'est possible, tu as pu constater que je cherchais à créer des références. Dans ces références, on peut constater des " ou ' qui ont été pris en compte, normal vu qu'on demande 2 lettres mais j'aimerais que et cela se situe surtout apres les tirets, ne pas les voir car dans le fichier ci-joint, je t'ai mis l'exemple on 'L alors que LU est plus agréable. a condition si préence de " ou '

en tout cas merci pour ton aide.

0exemple-2.xlsx (10.32 Ko)

Bonjour

C'est toi qui donné cette formule avec index......ligne..... si toi tu ne sais pas l'expliquer c'est bizarre... moi c'est pas mon truc... je te laisse demander à la personne qui t'a donné cette formule de t'expliquer, moi j'en suis incapable...

Fred

Re,

Je découvre power query et je me suis amusé avec ton problème.

Il y a une chose que je n'arrive pas à gérer ce sont les tirets.

Quand la plante n'est définie que par deux mots j'obtiens F-AC-CR- - - -

Ce qui j'en convient n'est pas le résultat attendu.

Mais si on supprime les tirets et qu'on les remplace par des espaces...

A toi de voir. s'il faut monter jusqu'à 10 mots ce n'est pas un problème, je peux le faire.

L'avantage c'est qu'il n'y a pas de vba et que tu peux donc le transférer sur le pc au taf.

Bonne fin de journée à vous deux.

Cdt

Après l'ajout de lignes dans la table de gauche clique sur Actualiser tout.

La table de droite se mettra à jour.

img1
Rechercher des sujets similaires à "extraction lettre"