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
A voir également:

8 réponses

m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 343
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
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
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


1
yclik Messages postés 3687 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 26 octobre 2024 1 512
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 2563 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 17 octobre 2024 1 058
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

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 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 343
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 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 237
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 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 237
7 janv. 2020 à 17:38
J'ai testé avant de poster, tu devrais faire pareil...
eric
-2