IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Séparer un champ relié par des tirets [XL-2013]


Sujet :

Excel

  1. #1
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 305
    Par défaut Séparer un champ relié par des tirets
    Bonjour à tous,

    Est-ce-que quelqu'un peut m'aider par le biais d'une formule de calcul (en anglais svp) à séparer le champ ci-dessous :

    LOP2-MPFTYH2-LOPKUI2-YH-MMMMPPP

    de manière à obtenir juste : LOP2-MPFTYH2-LOPKUI2

    Sachant que le nombre de chacun des blocs separés par un tirer peut varier

    Merci par avance pour votre aide précieuse

    Cordialement

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Voir les fonctions "SPLIT" et "InStr" via HELP

  3. #3
    Membre Expert Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Par défaut
    Quel est le soucis ?

    Rechercher la position (appelons là x) du 3 ème tiret
    et récupérer ensuite la chaine de la position 1 à (x-1) ?

    Si tel est le problème alors un appel aux fonctions search(cherche) et mid(stxt) devrait faire l'affaire ...

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    En VBA, il existe la fonction InStrRev pour chercher un caractère en partant de la fin mais il n'y a malheureusement pas son équivalent en fonctions Excel.
    Bien sûr, on peut se la fabriquer avec une fonction personnalisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function TROUVEREV(Crit As String, Cible As String) As String
        TROUVEREV = InStrRev(Cible, Crit)
    End Function
    Ca marchera comme la fonction TROUVE classique mais en partant de la fin.

    Je pense que le plus simple est que tu fasses une décomposition avec Ruban Données > Convertir en prenant comme paramètre "Délimité" (1er page) et comme délimiteur "-" (2ème page).
    Puis tu recomposes le tout avec une banale concaténation avec des &.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    avec formule ?
    Celle-ci, entre autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE(A1;TROUVE("-";A1;TROUVE("-";A1;1)+1+TROUVE("-";A1;TROUVE("-";A1;1)+1))-1)

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par unparia Voir le message
    Celle-ci, entre autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE(A1;TROUVE("-";A1;TROUVE("-";A1;1)+1+TROUVE("-";A1;TROUVE("-";A1;1)+1))-1)
    Il manque un TROUVE("-";A1;TROUVE("-";A1;1)+1)

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Menhir
    Pourquoi ?
    Avec ma formule, j'obtiens bien, avec LOP2-MPFTYH2-LOPKUI2-YH-MMMMPPP en A1 :

    LOP2-MPFTYH2-LOPKUI2

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Excuse-moi. Je n'avais pas remarqué que Mathsdeb voulait supprimer les deux derniers éléments et non pas uniquement le dernier.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] cellules reliées par des formules
    Par mumu63 dans le forum Excel
    Réponses: 2
    Dernier message: 31/01/2012, 20h03
  2. Remplacer les champs vides par des 0
    Par feldi dans le forum PL/SQL
    Réponses: 8
    Dernier message: 16/11/2011, 20h56
  3. Réponses: 5
    Dernier message: 24/02/2011, 15h21
  4. Réponses: 5
    Dernier message: 13/12/2006, 16h08
  5. Champs complété par des espaces
    Par DeitY dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 23/06/2005, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo