Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

séparation de données dans une cellule

  • Initiateur de la discussion Initiateur de la discussion judikael
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

judikael

XLDnaute Occasionnel
Bonjour

dans le cadre de mon travail, je récupère des données qui, dans les cellules, sont de format suivant

Média/type/mode/résulat

Or, aucune de ces données entre slash n'est de longueur identique.

J'ai besoin d'extraire soit la 1ere partie, soit la dernière. Pour la 1ere, je sais faire avec la formule =gauche(cell;cherche("/";cell)).

Or pour la fonction droite ça ne marche pas.

Quelqu'un autrait-il une solution ?

Merci d'avance
 
Re : séparation de données dans une cellule

Bonjour,

tu veux le faire en automatique (VBA => fichier exemple)
ou en manuel :
- données / convertir / choisir comme séparateur le '/'
 
Re : séparation de données dans une cellule

Coucou

heu ...
ma solution était beaucoup plus tirée par les cheveux j'avoue :

substituer(cell;"/";"*";3) pour chager le dernier / en *

puis faire une fonction milieu à partir du *

Mais Mutzik est plus efficasse et surtout plus simple


A+
 
Re : séparation de données dans une cellule

Merci à vous deux mais je ne peux convertir car avec l'outil d'import dans excel ca bug ensuite et il me faut faire encore plus de manip ensuite

je sais je suis embetant 😉
 
Re : séparation de données dans une cellule

ma solution ne demande pas de convertir

c'est juste une alternative à
gauche
et droite

1) tu changes le dernier / en * par la formule SUBSTITUTE (voir version française)
2) tu obtiens l'occurence du * avec la fonction CHERCHE (comme dans ta solution)
3) tu utilise la fonction MID au lieu de la fonction gauche

en anglais (désolée , ai excel anglais) ça donne ,

mid(substitute(cell;"/";"*";3);find("*";substitute(cell;"/";"*";3);20)
 
Re : séparation de données dans une cellule

Bonjour à tous,

Sinon il existe la possibilité de créer une fonction dans un module telle que cell-ci.
Puis d'appeler cette fonction depuis une cellule.

La fonction ci-dessous peut-etre appelée comme ça:

=ElementChaine(Cellule;séparateur;niveau(à partir de 1))

elle donne le nième élément dans une chaine.

J'espère avoir été clair.

Function ElementChaine(ByRef Chaine As Range, _
ByVal Separateur As String, ByVal niv As Integer) As String
'récup d'un élément dans une chaine
If Chaine.Value <> "" Then
tabch = Split(Chaine.Value, "/")
ElementChaine = tabch(niv - 1)
Else
ElementChaine = ""
End If
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
843
Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…