Aide pour isoler les cellules avec VBA

Résolu
clara95 Messages postés 9 Statut Membre -  
 clara95 -
Bonjour,

J'ai une série de valeur dans une cellule de type une date, un nom de produit, un prix et une quantité.
Plusieurs valeurs sont saisies de cette sorte dans une seul et même collonne sur plusieurs lignes.
Avec VBA je suouhaite mettre chacune des valeurs dans une seule et unique cellule

en A1 j'ai 10-Nov-07,bouteille,2€,2
et avec VBA je veux mettre en A1 la date 10-No-07, en B1 le produit (bouteille), en C1 le prix (2€) et en D1 la quantité (2)
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    D'après ton exemple tout est séparé par une virgule, tu peu alord faire...
    Sub Separe()
    Dim T, i As Integer
        T = Split(Cells(1, 1).Text, ",")
        For i = 0 To UBound(T)
            Cells(1, i + 1).Value = T(i)
        Next i
    End Sub

    A+
    0
    1. clara95 Messages postés 9 Statut Membre
       
      ca marche pour la première ligne ca separe mes titres de colonne date (A1) produits (B1) ,prix(C1) mais pour les valeurs ca ne marche pas. Il faudrait quelquechose pour le faire passer à la ligne et qu'il repete la même chose. Je pense à mettre offset mais je ne sais pas comment ou peut être autre chose?
      0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    1)mais pour les valeurs ca ne marche pas ?? pas compris

    2) Tu veux faire cela sur plusieur lignes ?
    0
    1. clara95 Messages postés 9 Statut Membre
       
      Ah je me suis peut être mal exprimé je te donne un exemple de mon listing


      EnA1 j'ai Date,produit,prix,quantité
      En A2 j'ai 10-Nov-2006,bouteille,2€,2
      A3 11-Nov-2006,shampooing,8€,12
      A4: 12-Nov-2006,brosse,4€,82
      A5: 13-Nov-2006,cannette,1€,30
      ect.....

      et je souhaite avoir en
      A1 Date, B1 Produit, C1 Prix, D1 quantité

      A2 : 10-Nov- 2006, B2 :Bouteille , C2: 2€, D2 :2
      A3: 11-Nov-2006, B3:shampooing, C3: 8€, D3: 12

      Ainsi de suite jusqu'à la fin de la liste et il faut que chaque valeur soit islolée dans une cellule.
      La programmation que tu m'as montré ne marche que pour la première ligne de ma liste c'est-àdire Date, Produit, prix et quantité mais pas pour le reste .

      Si ce n'est toujours pas clair n'hésite pas à me recontacter.
      0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Sub Separe()
    Dim T, i As Integer, e As Integer
        For e = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Row
            T = Split(Cells(e, 1).Text, ",")
            For i = 0 To UBound(T)
                Cells(e, i + 1).Value = T(i)
            Next i
            Erase T
        Next e
    End Sub

    Je suppose que c'est ca que tu veux..
    A+
    0
    1. clara95
       
      oui oui c tout a fait cela
      Finalement Offset ne sert à rien dans ce programme
      Merci pour ton aide
      Bon courage pour al suite
      0