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 :

séparation de mots


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 57
    Points
    57
    Par défaut séparation de mots
    Bonsoir,

    Je voudrais séparer les mots contenus dans les cellules pour pouvoir le 3ème mot et les 2 derniers
    je pense qu'il faut faut utiliser la fonction Split en creant un tableau
    mais le souci c'est que cette fonction sépare suivant les espaces blancs alors que dans mescellules les mots sont séparés par des points ou des espaces mots ou les 2 à la fois

    est-il possible dans ce cas la d'extraire des mots?
    et si les cellules contiennent des mots et des chiffres cela est il un probléme?.
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Vous avez écrit :

    Je voudrais séparer les mots contenus dans les cellules pour pouvoir le 3ème mot et les 2 derniers
    Pas très clair, il faudrait préciser.

    dans mes cellules les mots sont séparés par des points ou des espaces mots ou les 2 à la fois
    Vous voulez dire que les mots peuvent être séparés par des points, des espaces ou une suite point plus espace ?

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonsoir,

    Je suis juste un peu désespéré de voir que l'on attend tout de la baguette magique informatique et que l'on se sert peu de sa jugeote :

    On y va donc :

    Exemple, hein ...

    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
    Private Sub Command1_Click()
     toto = "alors voilà: je suis allé, ce matin, au marché, acheter des oranges pour 18 euros les 20 kilogrammes."
     tata = toto
     messeps = " !,.:;"
     msg = ""
     i = 1
     While Len(tata) > 0
       titi = Mid(tata, i, 1)
       If InStr(messeps, titi) > 0 Then
         msg = msg & Left(tata, i - 1) & vbCrLf
         tata = Trim(Mid(tata, i + 1))
         i = 0
       End If
       i = i + 1
     Wend
     MsgBox "voilà mon éclatement " & vbCrLf & msg
     titi = Split(msg, vbCrLf)
    MsgBox "voila mon 3ème mot : " & titi(2) & vbCrLf & _
    " et mes 2 derniers : " & titi(UBound(titi) - 2) & "  et " & titi(UBound(titi) - 1)
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bravo pour la (et même pour les démonstrations) Ucfoutu,

    Mais j'ai du mal a comprendre.

    Entre les questions de moimeme.....etc qui montre bien qu'il veut essayer de progresser en VBA ( et il a des progrès à faire, au vu du nombre de questions posées en peu de temps) et vos réponses, à mon avis un peu énigmatiques, qui montrent bien votre supériorité en la matière quel est le but ?

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Le but ? Parvenir à ce que l'on veut ...

    Les moyens ? beaucoup plus de réflexion et peu d'utilisation de connaissances ....

    C'est en général ce qui distingue l'un de l'autre, en matière de développement .... Une bonne réflexion et ===>>> un mécanisme d'application de cette réflexion... et pas plus !

    Chaque problème est un problème particulier et appelle une solution particulière (après - et pas avant - arrêt d'un mécanisme de pensée). C'est en tout état de cause aqinsi (et pas autrement) que j'aborde personnellement chaque problème (et laisse très peu de place au reste : la syntaxe, qui n'est rien d'autre que la traduction de ma pensée ... et c'est très peu... juste une traduction)...
    Bonne nuit.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Un autre méthode ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim tablo as range, Result as string
    Dim LeTroisieme, LavantDernier, LeDernier 
    Result = Replace(Cells(1,10),".", " ") 'remplace le/s "." par un espace
    Do while Result Like ("*  *") 'tant que deux espaces se suivent...
           Result = Replace(Result,"  ", " ") 'remplace deux espaces par un seul
    loop
    Tablo = Split(Result," ")
    LeTroisieme = Tablo(2)
    LeDernier = Tablo(Ubound(Tablo)-1)
    LavantDernier = Tablo(Ubound(Tablo)-2)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 57
    Points
    57
    Par défaut
    Bonsoir,

    merci pour vos reponses rapides et très developpés.
    je vais étudier tout cela calmement et ne manquerai pas de revenir vers vous.
    je suis un débutant en vba et cherche à progresser et à apprendre d'où le nombre de questions élevées.

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ne t'inquiète pas pour ton nombre de questions, pour ceux qui répondent il est sympa de voir avancer un projet et parallèlement celui qui le conduit.
    Par contre, quand un problème est résolu, n'oublie pas de l'indiquer.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonsoir moimemessssssssss,

    Vous avez écrit :

    je suis un débutant en vba et cherche à progresser et à apprendre d'où le nombre de questions élevées.
    J'espère que ce n'est pas ma question à Ucfoutu qui a motivé votre réponse, sinon cela voudrait dire que je me suis peut-être mal exprimé et que vous auriez compris le contraire de ce que je voulais dire.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 57
    Points
    57
    Par défaut
    Bonsoir,

    je crois que j'ai à peu près saisi le principe de vos codes , je les ai aussi testé et ça marche nikel, bravo

    j'ai dû mal comprendre votre phrase jacques_jean..c'est pa grave

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

Discussions similaires

  1. séparation d'une chaine de caractere apres le 1er mot
    Par karaudrey88 dans le forum Langage
    Réponses: 2
    Dernier message: 14/08/2012, 17h19
  2. séparation de mots par trait diagonale dans un tableau
    Par nina2007 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 02/10/2011, 13h30
  3. Expression Régulière séparation de mots majuscule
    Par orfaon dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2010, 14h49
  4. Fonction de séparation de mots
    Par devdev dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/10/2009, 12h48
  5. Séparation des mots d'une chaine
    Par lvdnono dans le forum C++
    Réponses: 5
    Dernier message: 26/06/2007, 11h25

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