Help création de formule complexe (enfin je trouve)

arn00

XLDnaute Nouveau
Bonjour à tous,
Je me permets de vous demander votre aide car j'ai des difficultés à créer une formule adaptée à ce que je veux faire. Je vous explique car ce n'est pas simple.

J'ai des cellules qui contiennent un mélange de chiffres et de lettres comme ça par exemple : AdKs9c
Et j'aimerais coder ces groupes de lettres et chiffres comme cela:

si le premier caractère est un A ou K ou Q ou J alors je veux que ça écrive H dans une autre cellule, si c'est un T ou 9 ou 8 ou 7 alors je veux que ça écrive M et si c'est un 6 ou 5 ou 4 ou 3 ou 2 alors je veux que ça écrive L.

Et même chose pour le 3ème caractère et le 5 ème caractère.

Dans notre exemple ici: AdKs9c doit donner HHM
Autre exemple: 9s8s2d doit donner MML... etc

Si qql arrive à trouver ce serait vraiment super car ça fait de nombreuses heures que je suis dessus et je n'y arrive pas . Merci d'avance
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Arn et bienvenu sur XLD,
Un essai en PJ avec une formule assez complexe, peut être existe il plus simple ( très certainement )
VB:
=SIERREUR(
SI(ESTERREUR(TROUVE(STXT(I5;1;1);"AKQJ"));SI(ESTERREUR(TROUVE(STXT(I5;1;1);"T987"));SI(ESTERREUR(TROUVE(STXT(I5;1;1);"65432"));" - ";"L");"M");"H")
&SI(ESTERREUR(TROUVE(STXT(I5;3;1);"AKQJ"));SI(ESTERREUR(TROUVE(STXT(I5;3;1);"T987"));SI(ESTERREUR(TROUVE(STXT(I5;3;1);"65432"));" - ";"L");"M");"H")
&SI(ESTERREUR(TROUVE(STXT(I5;5;1);"AKQJ"));SI(ESTERREUR(TROUVE(STXT(I5;5;1);"T987"));SI(ESTERREUR(TROUVE(STXT(I5;5;1);"65432"));" - ";"L");"M");"H");"")
En cas de "Non trouvé" je met " - "
 

Pièces jointes

  • Arn.xlsx
    10.8 KB · Affichages: 7

JHA

XLDnaute Barbatruc
Bonjour à tous,
Bonjour @sylvanu :)

Pas sur que ce soit plus clair
VB:
=SIERREUR(CHOISIR(EQUIV(EQUIV(GAUCHE(I5;1);{"A";"K";"Q";"J";"T";"9";"8";"7";"6";"5";"4";"3";"2"};0);{0;5;9});"H";"M";"L");"-")&
SIERREUR(CHOISIR(EQUIV(EQUIV(STXT(I5;3;1);{"A";"K";"Q";"J";"T";"9";"8";"7";"6";"5";"4";"3";"2"};0);{0;5;9});"H";"M";"L");"-")&
SIERREUR(CHOISIR(EQUIV(EQUIV(STXT(I5;5;1);{"A";"K";"Q";"J";"T";"9";"8";"7";"6";"5";"4";"3";"2"};0);{0;5;9});"H";"M";"L");"-")

JHA
 

Pièces jointes

  • Arn.xlsx
    11.6 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Arn00, JHA,
Just for the fun ... avec une petite fonction perso.
VB:
Function ARN(N)
    Application.Volatile
    ARN = ""
    For i = 1 To 5 Step 2
        C = Mid(N, i, 1)
        If InStr(1, "AKQJ", C, 1) Then
            A = "H"
        ElseIf InStr(1, "T987", C, 1) Then
            A = "M"
        ElseIf InStr(1, "23456", C, 1) Then
            A = "L"
        Else: A = " - "
        End If
        ARN = ARN & A
    Next i
End Function
 

Pièces jointes

  • Arn(V2).xlsm
    16.7 KB · Affichages: 2

arn00

XLDnaute Nouveau
wow merci bcp...on est obligé de passer par ça:
1591621515640.png
.Car moi j'ai une liste comme ci dessous avec 184 lignes du coup je ne sais pas trop comment faire.... Désolé je ne suis vraiment pas bon
AcTd5s
AcQd6s
AcTd3s
AcTd7s
AsKs8d
AsJs3d
AsTs2d
AsKs7d
AsTs6d
As4s2d
Tc2s2d
Qc3d2s
AsKd9s
Jd5s3s
AdQs7s
AsQd7s
 
Dernière édition:

arn00

XLDnaute Nouveau
Merci beaucoup la première formule marche parfaitement, c'est vraiment top! Du coup j'abuse un peu en demandant un 2ème requête:
- Si on trouve deux lettres ou 2 chiffres identiques en 1, 3 et 5 ème place, on écrit en plus dans la case (double)
Par exemple:

Kc9s9d doit donner HMM(double)

Si ce n'est pas possible ou trop compliqué pas grave. Encore merci en tout cas, super sympa.
 

arn00

XLDnaute Nouveau
Le top aurait été en formule car je suis vraiment débutant en excel et ne sait pas utiliser les fonctions comme on m'a donné plus haut , ou le VBA. Je ne sais pas si j'arriverai à l'insérer correctement dans ma feuille excel et si je saurai l'utiliser. Merci quand même :)
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux essayer cette formule pour les doubles
VB:
=SI(OU(GAUCHE(R5;1)=STXT(R5;2;1);GAUCHE(R5;1)=DROITE(R5;1);STXT(R5;2;1)=DROITE(R5;1));"double";"")

JHA
 

Pièces jointes

  • Arn rev2.xlsx
    13.7 KB · Affichages: 2

arn00

XLDnaute Nouveau
En fait non ça ne marche pas car il faudrait que ça donne (double) quand il y a la même lettre ou le même chiffre en 1 3 5 mais pas quand c'est HHL par exemple.

exemple:
AsKc6d donne HHL
As6d6c donne HLL(double)

Et cerise sur le gâteau:

7s7d7c donne MMM (triple).
:eek:
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 850
dernier inscrit
Danigra