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 :

[VBA-E]séparateur de texte dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 18
    Points
    18
    Par défaut [VBA-E]séparateur de texte dans une cellule
    Bonjour à tous,


    Je n'arrive pas à me dépétrer de ce problème VBA sur EXCEL :

    Dans ma colonne A, mes cellules contiennent le texte suivant :

    10256-002
    25-002
    6-002
    25982-002
    etc

    bref je voudrais n'extraire que la partie avant le "-", seulement cette partie de texte avant le "-" n'a pas le même nombre de caractère.

    le résultat voulu est donc en colonne B :

    10256
    25
    6
    25982

    Merci de votre aide.

    Bonne journée à tous.

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Salut desdenova!
    Et bienvenue sur ce forum!
    Bon, comme viens d'arriver, je répond, mais ce problème n'est vraiment pas dur. Je te conseille de lire les tutoriels et les cours de VB(A) sur ce site, avant de commencer à programmer, car sinon, tu n'arriveras à rien.
    Allez, un truc qui doit ressembler à ce que tu veux faire:
    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 LaFin()
        Dim DerniereLigne As Integer
        Dim PositionTiret As Integer
        Dim Contenu As String
        Dim Adroite As String
        DerniereLigne = Cells(65535, 1).End(xlUp).Row
        For i = 1 To DerniereLigne
            Contenu = Cells(i, 1).Value
            PositionTiret = InStr(Contenu, "-")
            If PositionTiret > 0 Then
                Adroite = Right(Contenu, Len(Contenu) - PositionTiret)
                Cells(i, 2).Value = Adroite
            End If
        Next i
    End Sub


    Autre chose: modifie ton titre. Rajoute le tag [VBA-E] pour signaler que tu travailles en VBA pour Excel.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Euh.. j'ai juste regardé vite fait ton code bipbip mais j'ai l'imperssion qu'il donne ce quil y a à droite du "-" non? hirs je pense qu'il vaut ce qu'il y a à gauche... enfin c'est la meme idée


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     If PositionTiret > 0 Then 
             Adroite = Left(Contenu, PositionTiret) 
             Cells(i, 2).Value = Adroite 
     End If
    Voilà là ca devrait etre bon (bon ptet faudra renommer Adroiet par aagauche ca le fera plus !! )

    Sinon ptet que c'est positiontiret - 1 j'ai pas vérifié

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Bon, d'accord...
    Mais note que je ne l'ai pas pris en traître, j'ai été cohérent tout le long: ma procédure s'appelle "LaFin", et ma variable "Adroite"...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Points : 448
    Points
    448
    Par défaut
    Oue c'est vrai !!
    Et puis d'abord y'avais qu'a regarder les tuto !!!

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 18
    Points
    18
    Par défaut
    Merci beaucoup à vous deux pour votre aide.

    J'aurais dû passer plus de temps sur les tutoriels effectivement.

    Merci encore.

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

Discussions similaires

  1. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05
  2. formatage d'un text dans une cellule stringgrid en float
    Par iam dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/04/2006, 15h05
  3. [VBA-E]controle de saisie dans une cellule
    Par greg778 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/03/2006, 16h43
  4. [VBA] aligner le texte dans une cellule
    Par Rakham dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2006, 17h07
  5. Faire défiler un texte dans une cellule de tableau
    Par Furius dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 01/12/2005, 17h06

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