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 :

Extraire la partie qui se trouve à droite du deuxième espace d’une chaîne de caractères [XL-2013]


Sujet :

Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut Extraire la partie qui se trouve à droite du deuxième espace d’une chaîne de caractères
    Bonjour à tous,
    Dans une chaîne de caractères, je souhaite extraire la partie qui se trouve à droite du deuxième espace.
    Je n’arrive pas à adapter cette fonction afin qu’elle retrouve le deuxième espace et non le premier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DROITE(A1;NBCAR(A1)-TROUVE(" ";A1))
    D’avance, merci beaucoup.
    Bolide7

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    La fonction TROUVE a un troisième paramètre qui donne la position de départ de la recherche.
    En demandant la recherche après le premier espace, on a la position du deuxième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DROITE(A1;NBCAR(A1)-TROUVE(" ";A1;TROUVE(" ";A1)+1))

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir tedo1,
    Merci beaucoup pour tes explications et ta proposition qui répond à ma demande.
    Si j’ai demandé cette information, c’est pour l’intégrer dans une autre formule, qui fonctionne très bien.
    Je souhaite établir un lien hypertexte sur le contenu de la cellule A1 de l’onglet, dont le nom est la cellule A6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";INDIRECT("'"&$A6&"'!A1"))
    Mais, lorsque je souhaite établir un lien sur la partie du contenu de la cellule A1, qui se trouve après le deuxième espace, la formule suivante ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";INDIRECT("'"&$A6&"'!DROITE(A1;NBCAR(A1)-TROUVE(" ";A1;TROUVE(" ";A1)+1))"))
    Pourtant, je n’ai fait que de placer ta jolie fonction au sein de ma fonction LIEN_HYPERTEXTE en remplaçant dans la fonction INDIRECT la cellule A1 par ta fonction DROITE.

    D’avance, merci pour ton complément d’aide.
    Bonne soirée.
    bolide7

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonsoir,
    Là je ne comprends pas ce que tu veux obtenir.
    Qu'est-ce que tu entends par faire un hyperlien sur une partie du contenu d'une cellule ?
    Comment est-ce que tu fais ça à la main ? Moi je ne sais que faire un hyperlien sur une cellule...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonsoir tedo01,
    Je me suis certainement mal exprimé.
    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";INDIRECT("'"&$A6&"'!A1"))
    je crée un lien hypertexte.
    En cliquant sur le contenu de la cellule qui contient cette formule, EXCEL recherche dans le même classeur, l’onglet dont le nom est la cellule A6.
    Une fois, la feuille trouvée, il récupère le contenu de la cellule A1, qu’il notifie dans la cellule où est notée cette fonction.
    Il y a peut-être plus simple comme formule (dans l’affirmative, je suis preneur), mais jusque-là tout va bien et cela fonctionne très bien.
    Le problème est que je ne veux pas qu’EXCEL récupère la totalité du contenu de la cellule A1, mais seulement la partie qui se trouve à droite du deuxième espace, d’où l’intitulé de cette discussion.
    Si tu n’as toujours pas compris ma description de la situation, je te ferai un petit fichier type.
    A toute à l’heure, peut-être… si tu n’es pas couché.
    bolide7

  6. #6
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut
    les espaces sont ils toujours à la même place?

    Je veux dire par exemple : il y a toujours 10 caractères après ton deuxième espace?

  7. #7
    Membre Expert
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Si je comprends bien, la cellule sur laquelle le lien hypertexte doit pointer est la cellule A1 de la feuille désignée en A6, et le texte du lien doit être le contenu de cette cellule après le deuxième espace.
    Ta formule comporte deux erreurs:
    - Tu as mis la formule pour extraire ce qui se trouve après le deuxième espace à l'intérieur d'une chaîne de caractères.
    - L'expression qui prend ce qui suit le deuxième espace est calculée sur la cellule A1 de la feuille courante, pas sur la cellule A1 de la feuille dont le nom est en F6.
    Il faudrait essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";DROITE(INDIRECT("'"&$A6&"'!A1");NBCAR(INDIRECT("'"&$A6&"'!A1"))-TROUVE(" ";INDIRECT("'"&$A6&"'!A1");TROUVE(" ";INDIRECT("'"&$A6&"'!A1"))+1)))
    Si ça donne le résultat attendu, pour alléger la formule, tu pourrais dans une première cellule (par exemple en B1) mettre cette première formule qui ramène le contenu qu'on veut travailler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INDIRECT("'"&$A6&"'!A1")
    La formule allégée deviendrait alors (remplacer B1 par le bon emplacement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";DROITE(INDIRECT("'"&$A6&"'!A1");NBCAR(B1-TROUVE(" ";B1;TROUVE(" ";B1)+1)))

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 697
    Par défaut
    Bonjour bboy-eazy et tedo01,

    Pour bboy-eazy :
    Hélas, le nombre de caractères à extraire après le deuxième espace n’est pas constant et cette partie droite peut même contenir des espaces.

    Pour tedo01
    C’est bien cela, tu as tout compris.
    Merci pour tes pertinentes explications.
    Elles évitent un simple recopiage.
    Félicitations, ta première proposition fonctionne très bien.

    J’ai dû faire une petite modification à la deuxième fonction de ta deuxième proposition (celle avec une cellule masquée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";DROITE(INDIRECT("'"&$A6&"'!A1");NBCAR(E2)-TROUVE(" ";E2;TROUVE(" ";E2)+1)))
    Dans ta formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("#'"&A6&"'!A1";DROITE(INDIRECT("'"&$A6&"'!A1");NBCAR(B1-TROUVE(" ";B1;TROUVE(" ";B1)+1)))
    il manque une parenthèse après le premier B1.

    Merci pour votre contribution respective.
    Très bonne après-midi ensoleillée.

    Je remets une autre discussion quasiment identique, mais qui est sans la fonction LIEN_HYPERTEXTE.
    Hélas, même si elle me paraît plus simple, je n’arrive pas à la finaliser pour qu’elle corresponde à ce que je veux.
    Si cela vous intéresse, cette discussion s’intitule « Extraire le nom de la commune sans les informations qui suivent ».

    bolide7

  9. #9
    Invité de passage
    Homme Profil pro
    Ingénieur Télécoms
    Inscrit en
    Juillet 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur Télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2020
    Messages : 1
    Par défaut extraire droite 4ème / celulle
    Bonjour à tous,
    Dans une chaîne de caractères, je souhaite extraire la partie qui se trouve à droite du quatrième / .
    Je n’arrive pas à adapter cette fonction donnée plus haut en réponse afin qu’elle retrouve le 4ème / et me donne le texte.

    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =DROITE(E2;NBCAR(E2)-TROUVE("/";E2;TROUVE("/";E2)+1))

    Par avance merci à vous !
    Cordialement
    Vico.

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

Discussions similaires

  1. Récupérer une partie d’une chaîne de caractères
    Par pheonix00fr dans le forum Excel
    Réponses: 2
    Dernier message: 18/12/2014, 17h34
  2. Réponses: 9
    Dernier message: 09/12/2005, 13h39
  3. [C#]Comment executer du code qui se trouve dans une string ?
    Par freddyboy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/02/2005, 16h31
  4. Réponses: 7
    Dernier message: 26/10/2004, 11h02
  5. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51

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