Aide pour isoler les cellules avec VBA

Résolu/Fermé
clara95 Messages postés 9 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 18 mai 2008 - 15 mai 2008 à 09:51
 clara95 - 16 mai 2008 à 16:17
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)

3 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
15 mai 2008 à 10:17
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
clara95 Messages postés 9 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 18 mai 2008
15 mai 2008 à 10:51
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
15 mai 2008 à 10:57
1)mais pour les valeurs ca ne marche pas ?? pas compris

2) Tu veux faire cela sur plusieur lignes ?
0
clara95 Messages postés 9 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 18 mai 2008
15 mai 2008 à 11:23
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
15 mai 2008 à 11:41
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
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