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

Conception Discussion :

Formule : Trouver l'avant-avant-dernière occurrence d'un caractère [XL-2003]


Sujet :

Conception

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 19
    Points
    19
    Par défaut Formule : Trouver l'avant-avant-dernière occurrence d'un caractère
    Bonjour à tous,

    J'ai besoin d'aide avec une fonction un peu complexe.

    En A1, j'ai :
    jiji_hehe_tata_toto_titi_tutu

    En B1, j'aimerai avoir :
    toto_titi_tutu

    En gros, je cherche une formule, qui me revoie tout le texte situé à droite de l'avant-avant-dernier underscore (_).

    Sachant que le texte en A1 est de longueur variable.

    Je me suis arraché les cheveux avec des TROUVE, DROITE, GAUCHE, NBCAR ... sans résultat ...

    Help !

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    Une fonction personnalisée, entre autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function MotCherche(Mot As String)
    Dim Ch
    Ch = Split(Mot, "_")
    MotCherche = Ch(UBound(Ch) - 2) & "_" & Ch(UBound(Ch) - 1) & "_" & Ch(UBound(Ch))
    End Function

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Hello casefayere,

    Merci pour ton temps.

    Malheureusement, je dois impérativement passer par une formule

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    possible par formule en précisant à partir de quel mot tronquer : =DROITE(A1;NBCAR(A1)-CHERCHE("toto";A1)+1)

    Sinon je ne vois pas mieux qu'une fonction personnalisée VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function Derniers$(Rg As Range, NBR%, Optional SEP$ = " ")
        SP = Split(Rg(1).Text, SEP):  NBR = NBR - 1
     
        If NBR >= 0 And UBound(SP) >= NBR Then
            ReDim AR$(NBR)
            For N% = 0 To NBR:  AR(N) = SP(UBound(SP) - NBR + N):  Next
            Derniers = Join(AR, SEP)
        End If
    End Function
    Formule : =Derniers(A1;3;"_")

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  5. #5
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    essayes cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DROITE(A1;TROUVE(" ";SUBSTITUE(A1;"_";" ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";""))-2))-1)

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Top Dominique !

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Citation Envoyé par Marc-L Voir le message

    Top Dominique !
    Merci Marc mais je me suis aperçu qu'il reste une faille, en effet si j'ajoute un mot, ça ne donne pas le résultat voulu, c'est à dire si je passe de "jiji_hehe_tata_toto_titi_tutu" à "jiji_hehe_tata_toto_titi_tutu_gégé", jobtiens "toto_titi_tutu_gege" mais en cherchant sur cette base, on devrait trouver......

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je crois que maintenant, ça doit être bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";""))>2;DROITE(A1;NBCAR(A1)-CHERCHE("|";SUBSTITUE(A1;"_";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"_";""))-2)));A1)
    Bonjour le forum, Marc, orke22,

    Pour orke22, s'il repasse par là et, au cas où..., j'explique ma formule en la disséquant sur l'image ci-dessous,

    Bonne journée à tou(te)s

    PS : j'ai changé l'espace pour un "|", moins commun dans un texte

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Les gars vous êtes des dingues !

    C'est parfait.

    Merci beaucoup

  10. #10
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour à tou(te)s,

    Suite à ma proposition (Post #8), ne pouvant plus modifier celui-ci, je remets l'image pour explications
    Images attachées Images attachées  

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Avril 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Cyberdocumentaliste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2016
    Messages : 20
    Points : 7
    Points
    7
    Par défaut chercher les 6 dernier ligne d'une equipe precis selon date
    bonsoir ;
    alor mon problème aujourd’hui c'est que j'arive pas a trouver une formule qui me permetre de extraire les 6 dernier ligne d'une équipe précis par exemple j’aimerai savoir quelle est les 6 dernier résulta de l'equipe aston villa selon les date bien sure base de donner et au piece jointe
    Fichiers attachés Fichiers attachés

  12. #12
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Poser une question dans le sujet d'un autre n'est vraiment pas judicieux.
    Si en plus cette question n'a aucun rapport avec la question de départ, ça devient carrément malséant.
    En plus, poser une question dans un sujet marqué "Résolu", c'est vraiment une mauvaise idée.
    Enfin, placer une pièce jointe dans sa question pour éviter de donner des explications claires, c'est déconseillé : http://www.developpez.net/forums/d84...s-discussions/

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/05/2016, 11h31
  2. [XL-2010] Trouver dernière occurrence avec méthode FIND
    Par neGo33 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/07/2015, 10h45
  3. Réponses: 11
    Dernier message: 20/08/2010, 20h58
  4. [RegEx] s'arreter à la dernière occurrence
    Par Fabouney dans le forum Langage
    Réponses: 5
    Dernier message: 01/03/2007, 17h13
  5. Réponses: 3
    Dernier message: 23/03/2004, 16h44

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