Supprimer la chaine de caractere se trouvant derrière le dernier "\"

chris92

XLDnaute Nouveau
Bonjour,

Je suis sous excel 2010 et je chercher à supprimer la dernière chaine de caractère se trouvant derrère un "\".

J'ai utilisé cette formule qui fonctionne à condition que ma cellule soit sous cette forme : chaine1\chaine2

=SI(ESTERREUR(CHERCHE("\";A1));A1;GAUCHE(A1;CHERCH E("\";A1)-1))


le problème est que ma feuille de calcul comprend différente chaine à savoir :

chaine1\chaine2\chaine3\chaine4\ASupprimer
chaine1\chaine2\chaine3\ASupprimer
chaine1\chaine2\ASupprimer
chaine1\chaine2\chaine3\chaine4\chaine5\ASupprimer

Est il possible de supprimer tout ce qui se trouve après le dernier "\"?

Merci pour votre aide.
 
Dernière édition:

Byfranck

XLDnaute Occasionnel
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour a tous,

une macro à compléter et à essayer (j'ai pas la macro de comptage du caractère / mais ça doit se trouver sur le Forum en cherchant un peu):


Dim u as integer, Nx as integer, N as integer
Dim Valeur as string
Dim derL as long
Dim txt As String
Dim Sep As Variant

DerL = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For u = 1 to DerL
txt = ""
If Sheets("Feuil1").Range("A" & u).Value <> "" Then

ICI une macro pour compter le nombre N de / dans la cellule

For Nx= N to 0
txt = Sheets("Feuil1").Range("O" & u).Value
Sep = Split(txt, "/")
Valeur = Sep(Nx)
Sheets("Feuil1").Range("A" & u).Value = Sheets("Feuil1").Range("A" & u).Value & "/" & Valeur
Next Nx

End If
Next u


@+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour


Je plussoie aux mots de tototiti2008 ;)
Code:
Sub DelbySplitOrInStRev()
Dim MaChaine
MaChaine = "chaine1\chaine2\chaine3\chaine4\ASupprimer"
MsgBox Mid(MaChaine, 1, Len(MaChaine) - Len(Split(MaChaine, "\")(UBound(Split(MaChaine, "\")))) - 1)
MsgBox Mid(MaChaine, 1, InStrRev(MaChaine, "\")), vbInformation, "Cool en effet ;-)"
End Sub
 
Dernière édition:

Byfranck

XLDnaute Occasionnel
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour à tous,

N'en jettez plus !
je ne suis pas un expert, mais avec 3 codes, un trombonne et une pince à linge je m'en sort souvant ;).
C'est sur que la maitrise c'est de savoir faire simple pour résoudre des problèmes complexes... moi c'est encore le contraire!


@+
 

tototiti2008

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour Staple :),
Re,

@ByFranck : Ce n'était que dans le but de customiser ta pince à linge pour la prochaine fois, pas pour dénigrer ta solution... l'intérêt du forum c'est qu'on y apprend plein de choses, et j'y ai beaucoup appris alors si je peux transmettre un peu.
 

JNP

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour le fil :),
N'en jettez plus !
je ne suis pas un expert, mais avec 3 codes, un trombonne et une pince à linge je m'en sort souvant ;).
C'est pas un trombonne, c'est une agrafe, et si tu confonds une pince à linge avec la tête à Toto :rolleyes:...
Nan..., j't'embête :p...
Only for the fun, une fonction personnalisée ;)
Code:
Function ByFranck(Chaine As String) As String
If InStr(Chaine, "\") = 0 Then Exit Function
Dim Tablo
Tablo = Split(Chaine, "\")
ReDim Preserve Tablo(UBound(Tablo) - 1)
ByFranck = Join(Tablo, "\")
End Function
Bonne suite :cool:
 

CISCO

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonjour à tous (Que de monde).

Pour le fun
Code:
=STXT(A1;1;CHERCHE("µ";SUBSTITUE(A1&"µ";"\";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"\";""))))-1)

@ plus

PS : C'est presque la même solution que celle proposée par Tototiti2008
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

Bonsoir à tous


Cela, peut-être ?
VB:
Function trk(s$) As String
    trk = StrReverse(Right$(StrReverse(s), Len(s) - InStr(1, StrReverse(s), "/")))
End Function


ROGER2327
#5370


Samedi 14 Décervelage 139 (Saints 4 Sans-Cou, enchanteurs - fête Suprême Quarte)
21 Nivôse An CCXX, 8,7073h - pierre à plâtre
2012-W02-3T20:53:51Z
 

ROGER2327

XLDnaute Barbatruc
Re : Supprimer la chaine de caractere se trouvant derrière le dernier "\"

À moins que :
VB:
Function trk(s$) As String
    trk = StrReverse(Right$(StrReverse(s), 1 + Len(s) - InStr(1, StrReverse(s), "/")))
End Function


ROGER2327
#5371


Samedi 14 Décervelage 139 (Saints 4 Sans-Cou, enchanteurs - fête Suprême Quarte)
21 Nivôse An CCXX, 8,8036h - pierre à plâtre
2012-W02-3T21:07:43Z
 

Statistiques des forums

Discussions
312 472
Messages
2 088 710
Membres
103 930
dernier inscrit
Jibo