macro pour convertir une chaine de caractere colone en ligne

wabtor

XLDnaute Nouveau
Macro pour convertir une chaine de caractères colonne en ligne -> Résolu

Bonjour

Tout d'abord je vous remercie d'avance pour l'aide que vous pourrez m'apporter sur le sujet.
La base
Une colonne avec une chaine de caractère val1ýval2ýval3 dans chaque cellule
Pour transformer ma colonne et séparer les valeurs d'habitude je converti la colonne avec ý en séparateur
Aujourd’hui je veux transformer mes données dans des lignes.
Ex : Val 1
Val 2
Val 3

La methode que j'envisage est une double boucle For
1ere boucle sur le nombre de ligne de ma colonne
2eme sur le nombre de caractère "ý" +1 dans la celule de la ligne
Avec inscription dans un arway pour facilité la boucle.

For I = 1 to nblignebase

nbdelignesup = fonction recherche nb caractère "ý" + 1
fonction création d'un arway avec la valeur de la cellule


For H = 1 to Nbdeligsup

création d'une ligne vide
Inscription valeur arway en position H

Next
Next

je sais pas si j'ai été clair.

Pour résumer : comment avoir le nombre de "ý" d'une cellule a l'aide d'une macro.

et comment je transforme ma chaine de caractère en arway.

Si vous avez une autre solution plus simple je suis preneur.

Merci d'avance
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : macro pour convertir une chaine de caractere colone en ligne

Bonjour Wabtor

par sur d'avoir tout compris, regarde peut être le code ci dessous, si cela peut t'aider :

Code:
Sub test()
Dim machaine As String, t As Variant, x As Byte
machaine = "var1ývar2ývar3ývar4ývar5"
t = Split(machaine, "ý")
x = UBound(t)
End Sub

bon après midi
@+

Edition : renvoie dans la variable "x", le nombre de "ý"
 

wabtor

XLDnaute Nouveau
Re : macro pour convertir une chaine de caractere colone en ligne

Merci ca répond à ma première question.

la deuxième est comment transformer cette même chaine
en arway(val1,val2,val3)

Encore merci
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : macro pour convertir une chaine de caractere colone en ligne

Re

ta chaine de caractères décomposée est dans le tableau "t", et peut donc être renvoyée par une boucle vers des cellules, exemple ci dessous :

Code:
Sub test()
Dim machaine As String, t As Variant, x As Byte, i As Byte
machaine = "var1ývar2ývar3ývar4ývar5"
t = Split(machaine, "ý")
x = UBound(t)

For i = LBound(t) To UBound(t)
    Cells(i + 1, 1).Value = t(i)
Next i
End Sub

@+
 

wabtor

XLDnaute Nouveau
Re : macro pour convertir une chaine de caractere colone en ligne

Re

ta chaine de caractères décomposée est dans le tableau "t", et peut donc être renvoyée par une boucle vers des cellules, exemple ci dessous :

Code:
Sub test()
Dim machaine As String, t As Variant, x As Byte, i As Byte
machaine = "var1ývar2ývar3ývar4ývar5"
t = Split(machaine, "ý")
x = UBound(t)

For i = LBound(t) To UBound(t)
    Cells(i + 1, 1).Value = t(i)
Next i
End Sub
@+


Merci ca marche, c'est simple une fois que tu connais la fonction.
J'etais en train de faire une usine a gaz ....

lol

merci pour vos réponses.
 

Discussions similaires