Excel Extraire chaîne de caractere avant nième slash

Résolu
tontontim Messages postés 5 Statut Membre -  
tontontim Messages postés 5 Statut Membre -
Bonjour, je cherche à extraire d'une cellule l'intégralité de ma chaîne avant un nième slash.
Par exemple une adresse internet :
https://aaaa/bbbb/ccccc/xxxc
je souhaite récupérer la chaine
https://aaaa/bbbb/ccccc
sachant que les a, b, c, x sont variables mais je veux toujours récupérer ce qui se trouve avant le 5éme /

J'ai essayé en mixant des nbcar, trouve, cherche, gauche etc. mais je n'arrive pas à faire en sorte de toujours avoir ce qu'il y a avant le 5éme slash...
A noter aussi que j'ai toujours 54 caractères à gauche de mon 4éme slash mais qu'entre le 4éme et le 5éme c'est variable.
D'avance merci.
Tontontim
A voir également:

8 réponses

m@rina Messages postés 26136 Statut Contributeur 11 478
 
Bonjour,

Tu ne dis pas quelle est ta version d'Excel.

Imaginant que tu as une version "récente" (au moins 2013), tu as une solution simplissime sans formule.

Tu insères une colonne à droite de ta colonne qui contient tes adresses. Dans la première cellule de cette colonne tu saisis le texte que tu souhaites obtenir, à savoir le texte situé entre le 4e et le 5e slash.
Tu gardes cette cellule sélectionnée, et tu appuies sur Ctrl+E. Normalement ce devrait être bon.
(Tu peux aussi cliquer sur Remplissage instantané, onglet Données).

m@rina
1
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Bonjour,

avec la méthode Split en vba:

Dim result As String
Dim chaine As String
chaine = "https://aaaa/bbbb/ccccc/xxxc"
result = Split(chaine, "/")(5)
MsgBox Replace(chaine, "/" & result, "")


Voir ceci pour plus d'information:

https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-I


1
yclik Messages postés 3971 Statut Membre 1 572
 
Bonsoir
Une proposition
=GAUCHE(A2;TROUVE("/";A2;TROUVE("/";A2;TROUVE("/";A2;9)+1)+1)-1)
1
tontontim Messages postés 5 Statut Membre
 
Bonjour cette formule convient même si je ne comprend pas tout notamment avec le 9 et les +1+1-1. Mais ça fonctionne
0
tontong Messages postés 2584 Statut Membre 1 062
 
Bonjour,
Pour récupérer tous les caractères avant le 5e /:
=GAUCHE(A1;CHERCHE("§";SUBSTITUE(A1;"/";"§";5))-1)

NB: Substitue() permet de choisir l'occurrence d'apparition d'un caractère dans une chaîne.
1
tontontim Messages postés 5 Statut Membre
 
Celle-ci aussi fonctionne et je la comprend un peut mieux, on cible et substitue le 5éme slash en § puis on cherche le § et enfin prend tout ce qui est à gauche de § -1 pour enlever le dernier caractère. Ca me va bien merci à tous.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tontontim Messages postés 5 Statut Membre
 
Je suis sur 2016, je ne veux pas que entre 4 et 5ème slash mais bien tout avant le 5ème slash.
J'ai essayé ce que tu dis mais ça ne fonctionne pas.
De préférence sans VBA.
Merci
0
m@rina Messages postés 26136 Statut Contributeur 11 478
 
Mais donc, as tu essayé en faisant un copier coller du texte jusqu'au 5e slash ? Je suis certaine que ça fonctionne.

Si tu dis que ça ne fonctionne pas, qu'obtiens tu ?
0
tontontim Messages postés 5 Statut Membre
 
re, ça je l'avais déjà fait mais ça ne me donne pas ce qu'il y a entre le slash 4 et le slash 5. Jusqu'au slash 4 j'ai bien 55 caractere mais je veux en plus les caractere entre slash 4 et 5 (variables.)
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour à tous,

=GAUCHE(A2;CHERCHE("/";A2;20)-1) 

fait sur ton exemple, en réel remplace 20 par 55.
eric
-1
eriiic Messages postés 25847 Statut Contributeur 7 279
 
J'ai testé avant de poster, tu devrais faire pareil...
eric
-2