Extraction valeur alphanumérique avec NB SI possible ?

Bonjour,

Dans mon exemple en PJ, j'aimerais savoir si je peux extraire la valeur alphanumérique HK17 (en rouge) dans la plage A:A avec =SI(NB.SI(A:A;"*HK:*");"HK:";"") ?

Je voudrais que le résultat apparaissent en G2. Je précise que dans la valeur "HK17",

11exemple.xlsx (9.67 Ko)

le chiffre 17 est une variable. Comme le montre ma formule, je n'extrais que "HK". Merci bien.

Bonjour,

Vous dites en G2 mais vous avez trois HK17....

Vous voulez quoi dans ce cas... car c'eut été plus simple de mettre le résultat en regard de la ligne qui contient le HK. Votre avis ?

Bonjour Dan,

Merci pour votre réponse. Vous avez raison.

Je voudrais qu'en G2 apparaisse la valeur HK17, celle que j'ai coloré en rouge dans mon tableau.

@+

ok mais la quelle puisque vous avez trois valeurs HK sur trois lignes différentes...

Si vous voulez celle de la ligne 11 mettez cette formule en G2 --> =STXT(A11;TROUVE("HK";A11;1);4)

Cordialement

Merci beaucoup Dan.

Effectivement, je ne veux récupérer que la première valeur HK et dans mon exemple, le premier HK se trouve sur la ligne A11. Mais cette valeur(ce premier HK) peut se situer à une autre position de la colonne A, entre A5 et A25. Est-ce possible de l'extraire selon ce critère ?

Bonjour à toutes et tous,

Peut-être comme ça.

=SI(NB.SI($A$5:$A$25;RECHERCHEV("*HK17*";$A$5:$A$25;1;0))=1;"HK17";"")

Cordialement.

Bonjour mdo100,

Merci pour votre message.

Je précise que dans mon exemple, HK17, seul les lettres "HK" sont constantes, par contre le "17" peut varier entre 1 et 50.

Re,

Alors sur la base de la formule de @Dan.

=STXT(RECHERCHEV("*HK*";$A$5:$A$25;1;0);TROUVE("HK";RECHERCHEV("*HK*";$A$5:$A$25;1;0);1);4)

Cdlt.

bonjour

pour le premier (comme voulu) des HK

nota :equiv donne toujours la position du premier élement recherché dans une colonne

j'ai utilisé CHERCHE (+/- identique à TROUVE)

=STXT(INDEX(A2:A14;EQUIV("*"&"HK"&"*";A2:A14;0));CHERCHE("hk";INDEX(A2:A14;EQUIV("*"&"HK"&"*";A2:A14;0)));4)

Re,

Oui on peut aussi écrire la formule avec "CHERCHE", l'avantage est que cette fonction ne fait pas la différence entre minuscule et majuscule. Si ça peu aider.

=STXT(RECHERCHEV("*HK*";$A$5:$A$25;1;0);CHERCHE("HK";RECHERCHEV("*HK*";$A$5:$A$25;1;0);1);4)

Cdlt.

Tout simplement, merci beaucoup à vous deux !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

C'est super !!

Bonsoir tulipe_4,

Merci pour vos recherches également !!!!!!!

J'ose vous soumettre une dernière requête. Dans mon tableau excel, la ligne 11, où se trouve la première valeur "HK17" que vous m'avez aidé à extraire.

18 AF1240 N 19JUN 5 CDGAMS HK17 0630 2F 0710 0835 *1A/E*

J'aimerais extraire les valeurs texte en rouge : 19JUN dans la cellule M3 et CDG dans la cellule N3. Est-ce possible ?

Re,

Désolé de mon retour tardif.

Pour CGD, prenez la formule de mdo100, vous changez HK par CGD, et le chiffre 4 par 3

Pour 19JUN, cela va être plus complexe d'autant que je suppose que l'on peut avoir un autre chiffre que 19 ? Et si oui, y aura-t-il toujours deux caractères ? Idéalement il faudrait avoir quelque chose de constant par exemple le N devant le 19.

Re,

A tester:

Pour 19JUN

=STXT(RECHERCHEV("*HK*";$A$5:$A$25;1;0);CHERCHE("HK";RECHERCHEV("*HK*";$A$5:$A$25;1;0);1)-15;5)

Pour CDG

=STXT(RECHERCHEV("*HK*";$A$5:$A$25;1;0);CHERCHE("HK";RECHERCHEV("*HK*";$A$5:$A$25;1;0);1)-7;3)

Cdlt.

re

Ah ben oui tiens modo100, j'avais pas pensé à ce truc là. Bien vu ! et plus simple aussi !

Merci @Dan,

En effet, et ça fonctionne aussi même si le chiffre est une unité avec un petit décalage vide au début.

Mais est-ce bien là l'essentiel

Cdlt.

Merci Dan et mdo100 !!!

Vous m'avez beaucoup aidé !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! J'aurai mis une éternité ou plus sûrement n'y serai jamais arrivé sans vous !!!

Bien cordialement et très bonne soirée !!!!!

bonsoir

j'ai entrevu que 19jun était une date et probalement pas toujours à la meme place .............

pour CDG ,il serait prudent de savoir si c'est toujours CDG sinon ,il faudrait faire un panel (comme pour mes dates)

15kirili.xlsx (9.43 Ko)

Bonsoir,

En toute simplicité

7kirili57.xlsx (11.02 Ko)

Bonne soirée.

Bonjour à tous,

Au cas où, une double proposition (qui ne répond peut-être pas au problème) pour rechercher une partie de chaine en fonction d'un extrait, en matriciel :

=INDEX(SIERREUR(STXT(A2:A14;CHERCHE(G2;A2:A14);CHERCHE(" ";A2:A14;CHERCHE(G2;A2:A14))-CHERCHE(G2;A2:A14));FAUX);EQUIV("*"&G2&"*";A2:A14;0))

ou avec une fonction personnalisée :

Function SONDER$(vcherchee, plage, Optional sep$)

vcherchee = "*" & vcherchee & "*": If sep = "" Then sep = " "
With Application
    chaine = .Index(plage, .Match(vcherchee, plage, 0))
    temp = Split(chaine, sep)
    SONDER = .Index(temp, .Match(vcherchee, temp, 0))
End With

End Function

valable pour tous les séparateurs, sachant que le séparateur par défaut (et donc facultatif) est " ".

A saisir ainsi sur feuille :

=SONDER(motclé;plage) 'pour l'espace

=SONDER(motclé;plage;"/") 'pour le "/" par exemple
7exemple.xlsm (17.02 Ko)

Cdlt,

Rechercher des sujets similaires à "extraction valeur alphanumerique possible"