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

Transfert lignes/colonnes

4 réponses
Avatar
Richard G.
Bonsoir =E0 tous,

J'ai une feuille Excel contenant des donn=E9es structur=E9e de la fa=E7on
suivante :

01 AAAA HHH
01 BBB VV
01 DDD JKIU SSS
02 DDD DDD
02 EEEE

J'ai mettre en ligne les donn=E9es qui sont en colonne et qui ont comme
d=E9nominateur commun la colonne A pour obtenir quelque chose de ce
genre :

01 AAAA HHH BBB VV DDD JKIU SSS
02 DDD DDD EEEE JJJ TTT

Evidemment (ce serait trop simple !) le nombre de lignes =E0 mettre en
colonne n'est jamais le m=EAme, tout comme le nombre de colonne par
ligne est variable. Et je ne peux pas r=E9p=E9ter la cellule de la colonne
A=2E

J'ai =E9crit ce morceau de code :

For Each c In Range("A2:A2000")
If c.Value =3D c.Offset(1, 0).Value Then
c.Offset(1, 0).ClearContents
c.Offset(1, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
c.Select
Selection.End(xlToRight).Select
Selection.Offset(, 1).Select
ActiveSheet.Paste
Selection.Offset(1, 0).Select
Selection.EntireRow.Delete
End If
Next c

=E7a marche tr=E8s moyennement.
Merci par avance pour vos suggestions.

A +

4 réponses

Avatar
JLuc
*Bonjour Richard G.*,
Essaie avec ce code :

x = 1
While Cells(x, 1) <> ""
If Cells(x + 1, 1) = Cells(x, 1) Then
For a = 2 to Cells(x + 1, 254).End(xlToLeft).Column
Cells(x, Cells(x, 254).End(xlToLeft).column) = _
Cells(x + 1, a)
Next
Cells(x + 1).Entirerow.Delete
Else
x = x + 1
End If
Wend

Pas testé, mais devrait marché !

Bonsoir à tous,

J'ai une feuille Excel contenant des données structurée de la façon
suivante :

01 AAAA HHH
01 BBB VV
01 DDD JKIU SSS
02 DDD DDD
02 EEEE

J'ai mettre en ligne les données qui sont en colonne et qui ont comme
dénominateur commun la colonne A pour obtenir quelque chose de ce
genre :

01 AAAA HHH BBB VV DDD JKIU SSS
02 DDD DDD EEEE JJJ TTT

Evidemment (ce serait trop simple !) le nombre de lignes à mettre en
colonne n'est jamais le même, tout comme le nombre de colonne par
ligne est variable. Et je ne peux pas répéter la cellule de la colonne
A.

J'ai écrit ce morceau de code :

For Each c In Range("A2:A2000")
If c.Value = c.Offset(1, 0).Value Then
c.Offset(1, 0).ClearContents
c.Offset(1, 1).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
c.Select
Selection.End(xlToRight).Select
Selection.Offset(, 1).Select
ActiveSheet.Paste
Selection.Offset(1, 0).Select
Selection.EntireRow.Delete
End If
Next c

ça marche très moyennement.
Merci par avance pour vos suggestions.

A +


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
Petite erreur :
For a = 2 to Cells(x + 1, 254).End(xlToLeft).Column
Cells(x, Cells(x, 254).End(xlToLeft).column) = _
Cells(x, Cells(x, 254).End(xlToLeft).column + 1) = _

Cells(x + 1, a)
Next


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Richard G.
Merci JLuc : c'est parfait !
A+
Avatar
JLuc
Richard G. avait soumis l'idée :
Merci JLuc : c'est parfait !
A+


Merci du retour ;-)

--
JLuc