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 :

diviser une chaine de caractére en plusieurs mots


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut diviser une chaine de caractére en plusieurs mots
    bonjour à tous,
    Je dispose de deux colonnes de chaines de caractéres ( clonne A et colonne B)

    Pour chaque cellule de la colonne A

    Je souhaite detecter les espaces dans la chaine de caracteres et pour chaque mots ( les mot sont séparé par des espaces)

    - chercher le nom d'occurence du mot dans une liste de chaine de caractéres (la colonne B)
    - si le nombre d'occurence est inferieure à X ( X etant un parametre) on affiche dans une cellule de la colonne C les nombres des lignes correspondant aux lignes dans lesquelle le mot de la colonne A est présent dans la colonnes B
    si non je cherche le 2 eme mot de la chaine de la colonne A dans la colonne B...


    Pouvez vous m'aider??

    sachant que je charche à ecrire une macro et PAS une fonction excell

    Car les colonnes A et B disposent de 3000 lignes!!

    Merci d avance pour votre aide

    Inessita

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour,

    tu as la fonction split pour separer la chaine en plusieurs

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    tu ne dis pas si las chaine de caractere en colonne b est aussi séparée par des espace, ou si c'est une seule chaine.

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    @ alsimbad:oui la chaine B est aussi séparé par des espaces

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    ok alor. et voila, tout chaud
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Sub testsplit()
    Range("C:c").ClearContents
    derliA = Range("A36536").End(xlUp).Row
    derliB = Range("B36536").End(xlUp).Row
    X = 3 'parametre a définir
    Dim motA()
    For Each CelA In Range("a1:a" & derliA)
        MotAtemp = Split(CelA, " ")
                For i = 0 To UBound(MotAtemp)
                ReDim Preserve motA(i)
                        If IsError(Application.Match(MotAtemp(i), motA, 0)) Then
                        motA(i) = MotAtemp(i)
                        End If
                Next i
        For Each CelB In Range("b1:b" & derliB)
              For i = 0 To UBound(motA)
                MotB = Split(CelB, motA(i))
                 If UBound(MotB) < X And UBound(MotB) >= 1 Then CelA.Offset(0, 2) = CelA.Offset(0, 2) & motA(i) & "_" & CelB.Row & "."
              Next i
        Next CelB
    ReDim motA(0)
    Next CelA
    End Sub

Discussions similaires

  1. Diviser une chaine de caractères en mots
    Par loyolas dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/11/2013, 18h14
  2. diviser une chaine de caractères en deux chaines
    Par _n1n1_ dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/05/2007, 16h42
  3. Réponses: 9
    Dernier message: 19/12/2006, 12h02
  4. Diviser une chaîne de caractères en plusieurs
    Par manshoon dans le forum Langage
    Réponses: 7
    Dernier message: 26/04/2006, 19h23
  5. Diviser une chaine de caractère en plusieurs ^^
    Par snake23 dans le forum Débuter
    Réponses: 3
    Dernier message: 23/03/2006, 18h05

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