Chaîne de caractère - extraire une chaîne à gauche ou à droite du n-ième espace de la chaine

Alan R

XLDnaute Nouveau
Bonjour, j'ai une liste de désignation produit. Par exemple sur la chaine suivante :

Analogue de pilier DIRECT CLIP Ø 3.6 NP / 4

Je voudrais avoir dans une case : Analogue de pilier
Dans une autre case : DIRECT CLIP Ø 3.6 NP / 4

Je voudrais effectuer une extraction à partir de la recherche des espaces pour pouvoir l'appliquer sur d'autres lignes n'ayant pas la même écriture

Merci de votre aide
 

vgendron

XLDnaute Barbatruc
Hello
un test avec une fonction personalisée
VB:
Public Function separe(Zone As Range, NbElement, NuméroElement)
'zone = le texte intial
'NbElement= le nombre de mots séparés d'un espace qui constituent la première partie de ton extract
'NuméroElement = la première ou seconde partie que tu souhaites
tablo = Split(Zone, " ")
If NuméroElement = 1 Then
    For i = 1 To NbElement
        rejoint = rejoint & " " & tablo(i - 1)
    Next i
   
Else
    For i = NbElement + 1 To UBound(tablo)+1
        rejoint = rejoint & " " & tablo(i - 1)
    Next i
End If
separe = Right(rejoint, Len(rejoint) - 1) 'pour supprimer l'espace en début de chaine
End Function
 

vgendron

XLDnaute Barbatruc
Je ne comprends pas trop le 3eme argument
NuméroElement = la première ou seconde partie que tu souhaites
Hello
le texte initial: Analogue de pilier DIRECT CLIP Ø 3.6 NP / 4
est à séparer en 2 parties :
1ere partie:Analogue de pilier (constituée de 3 mots.. séparés par 2 espaces==> 3, c'est le premier argument
2nd partie: DIRECT CLIP..... (1 ou 2: c'est le 3eme argument: pour dire si tu souhaites récupérer la 1ere ou 2eme partie)
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16