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 le dernier mot après un espace


Sujet :

Excel

  1. #1
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 744
    Points : 192
    Points
    192
    Par défaut Extraire le dernier mot après un espace
    Bonjour,

    je deviens fou !!! J'ai essayé mille combine

    En VBA, comment extraire l'adresse mail help@blabla.com et la suite de mot :

    Philippe Gonin +410000000 help@blabla.com

    help@blabla.com peut varier si c'est une autre adresse mail

    Merci pour votre aide

    Philippe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Extraire_Adresse_Mail()
     
        Dim AdresseMail As Variant
        Dim NomTelMail As Variant
        Dim Espace As Variant
     
        Range("E3").Select
        NomTelMail = Range("E3").Value
     
        AdresseMail = Right(NomTelMail, 20)
     
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 938
    Points : 28 935
    Points
    28 935
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le titre de ta discussion ne correspond pas à ta demande.
    Si tu cherches la chaîne se trouvant à droite de l'arobase, il faut d'abord la trouver. Les fonctions InStr et InStrRev renvoie la position d'une chaîne cherchée dans une autre.
    Avec cette position tu utiliseras la fonction Mid qui te permettra d'extraire la chaîne à droite de l'arobase.
    La fonction Split est une autre solution.

    Je te conseille la lecture de ce tutoriel Manipuler les chaînes de caractères en VB6 et VBA Excel

  3. #3
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 744
    Points : 192
    Points
    192
    Par défaut
    Merci, pour le lien transmis que j'avais déjà visité, mais qui ne m'aide pas à résoudre ma demande.

    Je veux toute l'adresse email, rechercher le premier espace depuis la droite et copier tout le texte depuis l'espace jusqu'à la fin de la phrase

    Bonne journée

  4. #4
    Membre extrêmement actif
    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
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Merci, pour le lien transmis que j'avais déjà visité, mais qui ne m'aide pas à résoudre ma demande.

    Je veux toute l'adresse email
    Hé bien ! --->> recherche donc le dernier espace en lieu et place de l'arobase !
    Et la seconde méthode (par Split) ?
    Les deux solutions que t'a données Philippe Tulliez sont bonnes (les deux).

  5. #5
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 744
    Points : 192
    Points
    192
    Par défaut
    Yes, ça fonctionne

    Merci à tous

    Pas compris la méthode SPLIT ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Extraire_Adresse_Mail()
     
        Dim AdresseMail As Variant
        Dim NomTelMail As Variant
        Dim Position As Byte
     
        NomTelMail = Range("E3").Value
     
                Position = InStrRev(NomTelMail, " ") 'Recherche le dernier espace de la phrase
                AdresseMail = Mid(NomTelMail, Position + 1, 10000)
     
    Range("A3") = AdresseMail
     
    End Sub

  6. #6
    Membre extrêmement actif
    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
    Points : 12 433
    Points
    12 433
    Par défaut
    1) Le , 10000 est totalement inutile dans :

    AdresseMail = Mid(NomTelMail, Position + 1, 10000)
    Tu devrais ouvrir ton aide interne VBA à la rubrique Mid, fonction et y lire ce qu'est le paramètre Lenght
    2)
    Pas compris la méthode SPLIT ...
    La "méthode" Split ? Elle n'existe pas !
    Existe par contre la fonction Split.

    Elle est exposée de manière claire dans ton aide VBA, à la rubrique Split, fonction

    Tu l'ouvres de temps à autres, cette aide interne ? Pour ton information : même les plus avancés d'entre nous l'ouvrent et la consultent régulièrement . Tu es prié d'en faire au moins autant.
    3) si ta difficulté est résolue, il convient (règle de ce forum) de libérer cette discussion b(un clic sur le tag RESOLU). Merci de faire au moins cela.

  7. #7
    Membre habitué Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 744
    Points : 192
    Points
    192
    Par défaut
    Merci pour les conseils, mais si je supprime le 10000, le résultat est nul

    Concernant le paramètre Lenght, je n'ai pas compris comment le placer malgré l'aide dont vous parlez

    Excellente soirée

    Philippe

    1) Le , 10000 est totalement inutile dans :
    AdresseMail = Mid(NomTelMail, Position + 1, 10000) Tu devrais ouvrir ton aide interne VBA à la rubrique Mid, fonction et y lire ce qu'est le paramètre Lenght

  8. #8
    Membre extrêmement actif
    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
    Points : 12 433
    Points
    12 433
    Par défaut
    Merci pour les conseils, mais si je supprime le 10000, le résultat est nul

    Concernant le paramètre Lenght, je n'ai pas compris comment le placer malgré l'aide dont vous parlez
    Ah oui ? (Le placer où alors que je t'ai dit qu'il n'était pas nécessaire ?)
    montre nous donc (juste pour voir)
    1) ce que tu as lu dans l'aide VBA à propos du paramètre length
    2) le code que tu as finalement écrit après cette lecture

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 938
    Points : 28 935
    Points
    28 935
    Billets dans le blog
    53
    Par défaut
    Bonjour;
    Pas compris la méthode SPLIT ...
    On te donne le lien d'un tutoriel à lire et tu réponds
    Merci, pour le lien transmis que j'avais déjà visité, mais qui ne m'aide pas à résoudre ma demande.
    Manifestement tu ne l'as pas lu correctement car au chapitre I-I. Scinder une chaîne tu as un bel exemple sur la fonction Split correspondant exactement à ta demande en ce qui concerne les caractères espacés.
    Evidemment cela demande de faire un Copier/Coller du code de la procédure, lancer l'exécution de celle-ci, regarder et comprendre le résultat renvoyé.

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 24/04/2016, 23h20
  2. Réponses: 3
    Dernier message: 31/08/2011, 15h20
  3. Extraire le dernier mot d'une chaîne en bash
    Par oranoutan dans le forum Linux
    Réponses: 2
    Dernier message: 16/05/2010, 22h47
  4. Extraire le dernier mot d'un champ
    Par Scratchalex dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 26/06/2008, 11h10
  5. extraire le dernier mot de chaque ligne
    Par bezoindaidde dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 28/03/2007, 07h47

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