XL 2016 Extraire un numéro alphanumérique dans une célulle

moptosh

XLDnaute Nouveau
Bonjour,
Je recherche à extraire un n° composé de 7 carractères alpha-numérique présent dans une célulle ?
La contrainte, c'est que ce numéro n'est jamais positionné au même endroit dans la célulle
Il y a un repère avec des symbole possible devant cette suite : "/" suivi d'un espace.
J'ai trouvé une première réponse sur ce site pour récupérer les chiffres, mais je sèche pour récupérer les lettres.
Ci-joint le fichier pour comprendre.
Merci de votre aide.
 

Pièces jointes

  • test.xlsx
    10.1 KB · Affichages: 7

moptosh

XLDnaute Nouveau
Hello,
Oui je sais, malheureusement les données sont confidentielles.
Rassurez-vous je ne vous tire pas la bourre vous êtes géniaux ;)

Bon, je vais demander à mon équipe de placer le n° entre deux " " et ne plus utiliser les guillemets pour autres chose (à remplacer par des parenthèses.)

Merci pour votre dispo en tout cas.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essai en PJ avec les ex de votre fichier :
Code:
Function ExtraireChaine(C$)
Application.Volatile
For i = 12 To Len(C)
    If Mid(C, i, 4) = UCase(Mid(C, i, 4)) And IsNumeric(Mid(C, i + 4, 3)) And Mid(C, i, 1) <> " " Then
        ExtraireChaine = Trim(Mid(C, i, 7))
        If Mid(ExtraireChaine, 1, 4) <> "TION" Then Exit Function
    ElseIf Mid(C, i, 3) = UCase(Mid(C, i, 3)) And IsNumeric(Mid(C, i + 3, 3)) And Mid(C, i, 1) <> " " Then
        ExtraireChaine = Trim(Mid(C, i, 7))
        If Mid(ExtraireChaine, 1, 3) <> "ION" Then Exit Function
    End If
Next i
End Function
Par contre, si vous revenez avec une nouvelle configuration bizarroïde, je jetterais l'éponge, car à chaque nouvelle bizarrerie, il faudra faire un rework.
 

Pièces jointes

  • test4.xlsm
    20 KB · Affichages: 2

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous :),
Une autre fonction personnalisée EXTRAC() :
VB:
Function extrac(ByVal x$) As String
Dim i&
   For i = 1 To Len(x) - 6
      If Mid(x, i, 3) Like "[A-Z][A-Z][A-Z]" And (Mid(x, i + 3, 1) Like "[A-Z]" Or Mid(x, i + 3, 1) Like "#") And (Mid(x, i + 4, 3) Like "###") Then extrac = Mid(x, i, 7): Exit Function
   Next i
End Function
 

Pièces jointes

  • moptosh- extrac- v1.xlsm
    18.5 KB · Affichages: 8
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh