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

Macros et VBA Excel Discussion :

Extraction d'une partie de texte d'une cellule [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    secrétaire
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : secrétaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Extraction d'une partie de texte d'une cellule
    Bonjour,

    Je cherche à extraire une partie du texte d'une cellule dans une autre cellule.

    Pour l'instant dans mon code, j'extrais tout le texte de la cellule comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For limit = ligne To 1 Step -1
                        If Cells(limit, 2).Value Like "Utilisateur:*" Then
                            Cells(result, 17).Value = Cells(limit, 2).Value
                            limit = 1
                        End If
                    Next limit
    je sais que chaque cellule est remplie de la même façon Utilisateur : Nom Prénom(identifiant) et je ne souhaiterais à chaque fois reporter que la partie Nom Prénom qui bien entendu est variable d'une ligne à l'autre.

    Si quelqu'un a une idée, je l'en remercie vivement.

    Cordialement.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une piste avec Split(). Attention pour les noms et prénoms composés ! Sinon, poste quelques valeurs de cellules afin qu'on puisse voir comment sont construites tes chaînes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Sub Test()
     
        Dim Chaine As String
        Dim Prenom As String
        Dim Nom As String
     
        Chaine = "ninie didou"
     
        Prenom = Split(Chaine, " ")(0)
        Nom = Split(Chaine, " ")(1)
     
        MsgBox "Nom : " & Nom & vbCrLf & "Prenom : " & Prenom
     
    End Sub
    Hervé.

  3. #3
    Candidat au Club
    Femme Profil pro
    secrétaire
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : secrétaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci pour cette solution!

    Elle fonctionne très bien mais comme vous l'avez dit si une personne a un nom ou prénom composé ça bloque.

    Du coup, j'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    For limit = ligne To 1 Step -1
         If Cells(limit, 2).Value Like "Utilisateur:*" Then
              tableau = Split(Cells(limit, 2).Value, " ")
              For i = 0 To UBound(tableau)
                  Worksheets("resultat").Cells(resultjpierre, 3).Value = tableau(1) + (" ") + tableau(2)
              Next i
              limit = 1
        End If
    Next limit
    Mais effectivement si dans la cellule j'ai par exemple : Utilisateur: Sarah Al Madi Cander (salmadi)
    et bien je perd les mots Madi Cander

    il faudrait donc une solution pour que je garde le contenu de la cellule en supprimant juste Utilisateur: et le texte entre ()
    sachant que toute les cellule sont sous ce modèle la

    merci encore pour le split().

    Cordialement.

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Si c'est cette chaîne que tu souhaite récupérer "Sarah Al Madi Cander" alors, teste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Test()
     
        Dim Chaine As String
     
        Chaine = "Utilisateur: Sarah Al Madi Cander (salmadi)"
     
        Chaine = Replace(Chaine, "Utilisateur: ", "")
        Chaine = Left(Chaine, InStrRev(Chaine, "(") - 2)
     
        MsgBox Chaine
     
    End Sub
    Hervé.

  5. #5
    Candidat au Club
    Femme Profil pro
    secrétaire
    Inscrit en
    Septembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : secrétaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Alors là je dis Merci Merci et Mille Merci.

    Je vais pouvoir partir en week-end bien heureuse.

    Ça fonctionne nickel.

  6. #6
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Je suis content d'éclairer ton WE ;-)

    Je te souhaite un très bon WE ainsi qu'à tout le monde !!!

    Hervé.

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

Discussions similaires

  1. [MySQL] effacer une partie du texte dans une table mysql
    Par jackbauer33 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/05/2008, 19h12
  2. [IE 6] bloc de texte ou une partie de texte invisible après le chargement de la page.
    Par radimby dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/06/2007, 16h28
  3. Réponses: 8
    Dernier message: 04/05/2007, 11h41
  4. [VBA-E] Mettre en gras une partie du texte d'une cellule
    Par clochardevobsy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/05/2006, 16h25
  5. [VBA][Excel]Supprimer une partie du texte d'une grosse liste
    Par annedeblois dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/09/2005, 17h15

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