Extraire une partie d'une cellule apres et avant un tirer

Guiguietouria

XLDnaute Nouveau
Bonjour à tous,

voila je n'arrive pas à trouver la formule ou la combinaison de formules me pemettant d'extraire une partie du texte contenu dans une cellule.

Exemple :

Dans la cellule A2 j'ai ce contenu : MPL210-MPL050-INTERSTATION TRANSPORTS-1-PRICING: (1-5: 34 / 6-8: 34 / +9: 34) - Atelier de Montpellier-MONTPELLIER AIRPORT

J'aiemerai extraire que ce qui est en marron dans une cellule et ce qui est en violet dans une autre cellule.

Pouvez vous m'aider s'il vous plaît ?

Cordialement,
 

Pièces jointes

  • TEST4.xlsx
    8.5 KB · Affichages: 46
  • TEST4.xlsx
    8.5 KB · Affichages: 54
  • TEST4.xlsx
    8.5 KB · Affichages: 58

Modeste

XLDnaute Barbatruc
Re : Extraire une partie d'une cellule apres et avant un tirer

Bonjour Guiguiettouria,

Voilà une demande qui revient régulièrement (quoique avec des variantes)
Une proposition en annexe où on cherche d'abord la position des avant-dernier et dernier tirets, puis on récupère le texte. On peut faire (en une seule opération) la recherche de la position et l'extraction de la chaîne, mais vois déjà avec ça ...

Deux exemples différents auraient été plus intéressants ... j'ai donc modifié à ma guise.

Il faudra qu'il y ait au moins 2 tirets dans chaque cellule de la colonne A pour éviter des messages d'erreur!
 

Pièces jointes

  • extraction chaînes (Guiguiettouria).xlsx
    10 KB · Affichages: 101

Guiguietouria

XLDnaute Nouveau
Re : Extraire une partie d'une cellule apres et avant un tirer

Bonjour Modeste,

Merci pour ta réponse, mais j'ai encore un soucis:

Mon fichier excel fait 190 000 lignes et ton (excellente) formule ne fonctionne pas tout le temps ...

Je te mets en pièce jointe ce fichier excel, peux-tu me donner une piste s'il te plaît

Merci pour ton aide
 

Pièces jointes

  • testOuria2.xlsx
    44.3 KB · Affichages: 50

Modeste

XLDnaute Barbatruc
Re : Extraire une partie d'une cellule apres et avant un tirer

Re-bonjour,

Je n'ai pas tout "épluché", mais ce qui est certain c'est qu'il faudrait rendre absolues les références aux lignes donc, dans la première formule: $1:$250 aux deux endroits où ces références figurent, puis recopier vers le bas (sans oublier de valider avec Ctrl+Shift+Enter)
 

laurent950

XLDnaute Accro
Re : Extraire une partie d'une cellule apres et avant un tirer

Bonsoir,

Il y a des erreurs dans le fichier même, j'ai repérer cela :

Ligne 62 Pour exemple :
AGF063-BOD090-INTERSTATION TRANSPORTS-1-PRICING: (1-5: 62.86 / 6-8: 55 / +9: 48.89), AGEN DOWNTOWN-BORDEAUX RR STN

Zoom = +9: 48.89), AGEN DOWNTOWN il y a "), " à la place ")- "

La Macro fait un deuxiéme tour pour correction de cette erreur et bien sur si pas d'erreur elle s'excute normalement

Voici le code et fichier joint :

VB:
Sub test()


Dim TabBase() As Variant
TabBase = Range(Cells(2, 1), Cells(Cells(65536, 1).End(xlUp).Row, 1))
ReDim Preserve TabBase(1 To UBound(TabBase, 1), 1 To 3)

For i = 1 To UBound(TabBase, 1)
TabBase(i, 2) = Split(TabBase(i, 1), "-")(UBound(Split(TabBase(i, 1), "-")) - 1)
TabBase(i, 3) = Split(TabBase(i, 1), "-")(UBound(Split(TabBase(i, 1), "-")))
Next i

' Le fichier n'est pas toutes a fait Propre donc par formules c'est pas trop possible
' Deuxiéme tours de bouble pour
' PRICING: (1-5: 62.86 / 6-8: 55 / +9: 48.89), AGEN DOWNTOWN-BORDEAUX RR STN
'                                  = Erreur ), au lieu de - !!!

For y = 1 To UBound(TabBase, 1)
    If TabBase(y, 2) Like "*), *" Then
    TabBase(y, 2) = Split(TabBase(y, 2), "), ")(1)
    End If
Next y

' Extraire une colone d'un tableau :
' c'est a dire la colone N°2 du tableau a recopier en colonne
 'Cells(2, 12).Resize(UBound(TabBase, 1), UBound(TabBase, 2)).Value = TabBase
 'Cells(2, 14).Resize(UBound(TabBase, 1), 1).Value = Application.Index(TabBase, , 2)
 For y = 2 To 3
    Cells(2, y + 2).Resize(UBound(TabBase, 1), 1).Value = Application.Index(TabBase, , y)
 Next y

'For y = 1 To UBound(TabBase, 1)
'        Cells(y + 1, 4) = TabBase(y, 2)
'    Cells(y + 1, 5) = TabBase(y, 3)
'Next y
End Sub

Laurent
 

Pièces jointes

  • testOuria2.xlsm
    58.2 KB · Affichages: 41
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali