Comment extraire des données avec un delimiteur ?

Résolu
choudoudou. Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
 choudoudou. -
Bonjour,



Voila mon problème est que j'ai dans une seule et même cellule :

||A|B|C|D|E|
||F|G|H|I|J|
||... etc

J'ai environ 7 lignes dans une seule et meme cellule de ce style la. Je souhaiterai extraire uniquement le deuxieme caractere de chaque ligne ici B et G pour les mettre chacun dans une cellule afin de pouvoir les exploiter.

Mon idée serait de dire je veux la donnée entre le 3eme "|" et le 4eme "|" et ainsi de suite pour chaque ligne mais je trouve rien en termes de code pour faire cela.
Si quelqu'un a une idée ce serait super !

Bonne soirée
Franck

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    car=split([A1],"|")(2)
    (découpe dans un tableau, l'index commence à 0)

    eric

    Jamais tu ne répondras à un mp non sollicité...
    Bon, ça c'est fait.
    0
  2. choudoudou.
     
    Merci de ta réponse Eric.
    Par contre à quoi sert le "(2)", est-ce pour dire de commencer à partir du 2eme "|" ?

    Le problème c'est que l'indice n'est pas reconnu :

    Dim car() as String

    car=split([E1],"|")(2)
    Workbooks("suivi-couts.xls").Worksheets("Data").Cells(2, 5).Value = car (0)

    Voila ce que j'ai fait et là impossible de récupérer mon nombre d'heures.
    A noter que j'ai 3 feuilles dans mon classeur, peut etre qu'il ne comprends pas qu'il faut aller dans E1 de "data" ?
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    j'avais fait vite sans tester, c'est (3) qu'il faut :


    Si ta feuille est active et ta chaine en E :
    Cells(1, 6).Value = Split(Cells(1, 5), "|")(3)
    te mettra la lettre en F

    eric
    Jamais tu ne répondras à un mp non sollicité...
    Bon, ça c'est fait.
    0
  4. choudoudou.
     
    Merci Eric, en attribuant directement a la case le split ça fonctionne parfaitement.

    Bonne journée !

    Franck
    0