Bonjour,

j'ai 2 colonnes avec x lignes, dans COL1 j'ai des matricules classés dans l'ordre, dans COL2 en face du matricule une lettre. Je souhaiterais que lorsque le matricule est égale au matricule suivant que les lettres correspondantes qui sont donc l'une en dessous de l'autre dans la COL2, soient transposées chacune dans les colonnes à côté mais en ligne.

exemple:
COL 1 COL2
12 a
13 d
13 s
15 z
15 k
15 z
16 p

après transposition

COL1 COL2 COL3 COL4

12 a
13 d s
13 s
15 z k u
15 k
15 u
16 p

l'ordre dans les colonnes 3 à 4 n'a pas d'importance

le test ci dessous n'est pas concluant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Transposer()
 
Dim x As Integer
 
For x = 1 To 100
If Cells(x, 1) = Cells(x + 1, 1) Then
Range(Cells(x, 2), Cells(x + 1, 2)).Copy
Cells(x, 3).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End If
 
Next x
 
End Sub
Merci d'avance