Transfert lignes/colonnes

Le
Richard G.
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 +
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JLuc
Le #4360701
*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

JLuc
Le #4360691
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

Richard G.
Le #4359431
Merci JLuc : c'est parfait !
A+
JLuc
Le #4359231
Richard G. avait soumis l'idée :
Merci JLuc : c'est parfait !
A+


Merci du retour ;-)

--
JLuc

Publicité
Poster une réponse
Anonyme