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

Résolu/Fermé
tontontim
Messages postés
5
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020
- Modifié le 7 janv. 2020 à 14:41
tontontim
Messages postés
5
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020
- 8 janv. 2020 à 09:21
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

8 réponses

m@rina
Messages postés
17468
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
16 juillet 2022
10 931
7 janv. 2020 à 15:10
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
yclik
Messages postés
2927
Date d'inscription
vendredi 25 juillet 2014
Statut
Membre
Dernière intervention
15 août 2022
1 336
7 janv. 2020 à 18:28
Bonsoir
Une proposition
=GAUCHE(A2;TROUVE("/";A2;TROUVE("/";A2;TROUVE("/";A2;9)+1)+1)-1)
1
tontontim
Messages postés
5
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020

8 janv. 2020 à 09:18
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
2523
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
12 août 2022
1 035
7 janv. 2020 à 19:45
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
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020

8 janv. 2020 à 09:21
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
cs_Le Pivert
Messages postés
7803
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2022
714
Modifié le 7 janv. 2020 à 15:18
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


0

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

Posez votre question
tontontim
Messages postés
5
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020

7 janv. 2020 à 15:19
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
17468
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
16 juillet 2022
10 931
7 janv. 2020 à 17:03
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
Date d'inscription
mardi 7 janvier 2020
Statut
Membre
Dernière intervention
8 janvier 2020

7 janv. 2020 à 16:59
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
24430
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 août 2022
7 107
7 janv. 2020 à 16:04
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
24430
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
11 août 2022
7 107
7 janv. 2020 à 17:38
J'ai testé avant de poster, tu devrais faire pareil...
eric
-2