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 -
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
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:
- Excel expression régulière
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Extraire texte d'une image - Guide
4 réponses
Bonsoir,
avec une expression régulière et un peu de vba :
VBA
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 :
=extract(B6)
mais la première fonction est plus souple
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 Stringet ça dans ta cellule cible
With CreateObject("VBScript.RegExp")
.pattern = "A[0-9]{4}"
.IgnoreCase = True
extract = .Execute(txt)(0)
End With
End Function
=extract(B6)
mais la première fonction est plus souple
Bonjour
Avec cette formule pour mon exemple les données sont en A7
=DROITE(GAUCHE(A7;CHERCHE("-";A7;1)-1);5)
Avec cette formule pour mon exemple les données sont en A7
=DROITE(GAUCHE(A7;CHERCHE("-";A7;1)-1);5)
peut être un peu beaucoup pour pas grand chose, non? et de plus pas à la portée du commun des mortels.
crdlmnt
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.