Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transpositions de données en colonnes ... en lignes

17 réponses
Avatar
Seb
Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco dne
dnm pff



Comme j'ai 4000 articles comme ceux là, j'aimerai savoir si il existe un
moyen de transposer de la sorte des données initialement en colonnes, en
lignes.

Merci de votre aide

Sébastien

10 réponses

1 2
Avatar
JB
Bonjour,

Copier/Collage spécial/Transposé

JB

Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco d ne
dnm pff



Comme j'ai 4000 articles comme ceux là, j'aimerai savoir si il existe un
moyen de transposer de la sorte des données initialement en colonnes, en
lignes.

Merci de votre aide

Sébastien


Avatar
Seb
Oui je connais la manip depuis peu, mais je ne peux pas le faire pour 4000
articles.. c'est trop long

Merci

Sébastien

"JB" a écrit dans le message de news:

Bonjour,

Copier/Collage spécial/Transposé

JB

Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco
dne
dnm pff



Comme j'ai 4000 articles comme ceux là, j'aimerai savoir si il existe un
moyen de transposer de la sorte des données initialement en colonnes, en
lignes.

Merci de votre aide

Sébastien


Avatar
Francois L
Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco dne
dnm pff



Bonsoir,

Vas voir dans l'exemple joint
http://cjoint.com/?kptQimfMoH
la macro "transpose" et adaptes là à ton cas.

--
François L

Avatar
JB
Il n'y a que 255 colonnes!

JB


Oui je connais la manip depuis peu, mais je ne peux pas le faire pour 4000
articles.. c'est trop long

Merci

Sébastien

"JB" a écrit dans le message de news:

Bonjour,

Copier/Collage spécial/Transposé

JB

Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco
dne
dnm pff



Comme j'ai 4000 articles comme ceux là, j'aimerai savoir si il existe un
moyen de transposer de la sorte des données initialement en colonnes, en
lignes.

Merci de votre aide

Sébastien




Avatar
Seb
Yessss, ça marche nickel

J'avais juste à modifier un paramètre : remplacer
" For i = 2 to 30 " par "For i = 2 to 54776 "
ps: 54776 : nbre de lignes de mon fichier.

Merci bcp
Sébastien

"Francois L" a écrit dans le message de news:
%
Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi
pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco
dne
dnm pff



Bonsoir,

Vas voir dans l'exemple joint
http://cjoint.com/?kptQimfMoH
la macro "transpose" et adaptes là à ton cas.

--
François L



Avatar
Fredo P.
Bonsoir JB
En suivant ta disposition et si toute ta colonne des références a été triée
par ordre croissant

Sub trans()
Dim L1#, L2#, plg As Range, i %
L1 = 1
While Cells(L1, 1) <> ""
i = i + 1
L1 = [A:A].Find(Cells(L1, 1), , 1, 1, , 1, 1).Row
Cells(i, 3) = Cells(L1, 1)
L1 = L1 + (L1 = 2)
L2 = Application.Match(Cells(L1, 1), [A:A], 1)
Set plg = Range(Cells(L1, 2), Cells(L2, 2))
Range(Range(Cells(i, 4), Cells(i, 4 + L2 - L1)).Address) Application.transpose(plg)
L1 = L2 + 1
Wend
End Sub

"JB" a écrit dans le message de news:

Il n'y a que 255 colonnes!

JB


Oui je connais la manip depuis peu, mais je ne peux pas le faire pour 4000
articles.. c'est trop long

Merci

Sébastien

"JB" a écrit dans le message de news:

Bonjour,

Copier/Collage spécial/Transposé

JB

Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi
pff


NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco
dne
dnm pff



Comme j'ai 4000 articles comme ceux là, j'aimerai savoir si il existe un
moyen de transposer de la sorte des données initialement en colonnes, en
lignes.

Merci de votre aide

Sébastien




Avatar
Fredo P.
La presque même !!, sans doute beaucoup plus rapide.
Sub trans()
Dim L1#, L2#, plg As Range, i %
L1 = 1
While Cells(L1, 1) <> ""
i = i + 1
L1 = [A:A].Find(Cells(L1, 1), , 1, 1, , 1, 1).Row
Cells(i, 3) = Cells(L1, 1)
L2 = Application.Match(Cells(L1, 1), [A:A], 1)
Set plg = Range(Cells(L1, 2), Cells(L2, 2))
Range(Cells(i, 4), Cells(i, 4 + L2 - L1)) Application.transpose(plg)
L1 = L2 + 1
Wend
End Sub

"Seb" a écrit dans le message de news:
4532951e$0$27400$
Yessss, ça marche nickel

J'avais juste à modifier un paramètre : remplacer
" For i = 2 to 30 " par "For i = 2 to 54776 "
ps: 54776 : nbre de lignes de mon fichier.

Merci bcp
Sébastien

"Francois L" a écrit dans le message de
news:

%
Bonjour à tous,

Je cherche un moyen de faire la manip suivante:

Article Outils
NH000001000001 ap
NH000001000001 sc1
NH000001000001 fp
NH000001000001 l6
NH000001000001 l8
NH000001000001 l12
NH000001000001 ft2
NH000001000001 pt2
NH000001000001 expbd
NH000001000001 dco
NH000001000001 dne
NH000001000001 dnm
NH000001000001 dmi
NH000001000001 pff
NH000001000002 ap
NH000001000002 fond
NH000001000002 s12
NH000001000002 sc1
NH000001000002 fp
NH000001000002 l6
NH000001000002 l8
NH000001000002 ft2
NH000001000002 cr52
NH000001000002 c20
NH000001000002 expt
NH000001000002 dsc
NH000001000002 dco
NH000001000002 dne
NH000001000002 dnm
NH000001000002 pff


Comme ceci:

NH000001000001 ap sc1 fp l6 l8 l12 ft2 pt2 expbd dco dne dnm dmi
pff
NH000001000002 ap fond s12 sc1 fp l6 l8 ft2 cr52 c20 expt dsc dco
dne
dnm pff



Bonsoir,

Vas voir dans l'exemple joint
http://cjoint.com/?kptQimfMoH
la macro "transpose" et adaptes là à ton cas.

--
François L







Avatar
Garette
Bonsoir,

Tu peux également utiliser la Macro suivante :

Sub Copie_Transposee()
ActiveCell.CurrentRegion.Copy
Range("D1").PasteSpecial transpose:=True
End Sub

Pour quelle fonctionne, il faut que la cellule active soit une cellule
pleine de la zone à copier.
Elle copie l'ensemble transposé en D1.
Pour choisir la zone de départ, remplacer
ActiveCell.CurrentRegion.Copy
par
Range("A1").CurrentRegion.Copy (où A1 peut etre remplacer aussi par la zone
à copier)
Avatar
Francois L
La presque même !!, sans doute beaucoup plus rapide.
Sub trans()
Dim L1#, L2#, plg As Range, i %
L1 = 1
While Cells(L1, 1) <> ""
i = i + 1
L1 = [A:A].Find(Cells(L1, 1), , 1, 1, , 1, 1).Row
Cells(i, 3) = Cells(L1, 1)
L2 = Application.Match(Cells(L1, 1), [A:A], 1)
Set plg = Range(Cells(L1, 2), Cells(L2, 2))
Range(Cells(i, 4), Cells(i, 4 + L2 - L1)) > Application.transpose(plg)
L1 = L2 + 1
Wend
End Sub



Bonjour,

Beaucoup mieux, oeuf corse, mais oublie de traiter la première ligne du
tableau sur 2 colonnes :-))

--
François L
... mauvais joueur ?

Avatar
Francois L
Yessss, ça marche nickel

J'avais juste à modifier un paramètre : remplacer
" For i = 2 to 30 " par "For i = 2 to 54776 "
ps: 54776 : nbre de lignes de mon fichier.




Re,

OK, on aurait aussi pu s'épargner les macros et passer par un TCD, voir
http://cjoint.com/?kqggwJQVzT


--
François L

1 2