Extraire une chaine de caractères d'une cellule

Résolu
FiberIDEA Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
FiberIDEA Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

J'ai une liste de cellules comportant des chiffres et lettres ( exemple: 125A0341-1310 )

Toutes les cellules ont une lettre "A"
J'ai besoin d'extraire la lettre "A" et les 4 chiffres qui sont à sa droite (ici A0341)

Quelqu'un peux-t-il m'aider ?

Merci
A voir également:

4 réponses

Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
Bonsoir,

avec une expression régulière et un peu de vba :

VBA
Function extract(txt As String, pattern As String) As String
With CreateObject("VBScript.RegExp")
.pattern = pattern
.IgnoreCase = True
extract = .Execute(txt)(0)
End With
End Function

et ensuite pour ta cellule cible (si B6 est ta cellule source par exemple)
=extract(B6;"A[0-9]{4}")


si tu comptes utiliser ça uniquement avec ce pattern tu peux utiliser ça :
Function extract(txt As String) As String
With CreateObject("VBScript.RegExp")
.pattern = "A[0-9]{4}"
.IgnoreCase = True
extract = .Execute(txt)(0)
End With
End Function
et ça dans ta cellule cible
=extract(B6)

mais la première fonction est plus souple
3
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
Si le A n'est pas toujours un A tu peux modifier le pattern de cette façon : [A-Z][0-9]{4}
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonsoir Atropa
peut être un peu beaucoup pour pas grand chose, non? et de plus pas à la portée du commun des mortels.
crdlmnt
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
ouais mais c'est tellement souple et puissant. et puis ça peut servir pour plein d'autre choses
par exemple si la lettre A n'est pas dans toutes les références ça évite plein de manipulation inutile

Je n'ai jamais vraiment utilisé excel et j'ai été étonné de voir qu'il n'y ai pas de fonction expression régulière directement dedans.

mais sinon ça ne fait qu'une petite fonction à ajouter et c'est tellement plus confortable que des fonctions imbriquées.

En plus ça pourra lui servir à l'avenir de connaitre ça. Ca simplifie beaucoup de chose.
0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
Bonjour

Avec cette formule pour mon exemple les données sont en A7

=DROITE(GAUCHE(A7;CHERCHE("-";A7;1)-1);5)
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonsoir
avec :
=STXT(A1;TROUVE("A";A1);5)
crdlmnt
0
FiberIDEA Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci à tous, c'est nickel.
J'ai utilisé finalement la formule de Vaucluse qui conserve le "A" dans la réponse
Cdlt
0