Transposer col en lig quand chgment de valeur

Résolu
lapluchouet Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
lapluchouet Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

C'est la première fois que je pose une question dans le forum. J'adore ce site, il m'a rendu service plus d'une fois et aujourd'hui encore j'aurais bien besoin de vos lumières..., car je ne trouve pas de réponse à mon problème... !

J'ai une colonne A dans laquelle j'ai des identifiants et une colonne B dans lequel j'ai des numéros qui correspondent à des réponses. Une même personne peut apparaître plusieurs fois (le nombre de fois n'est pas fixe) en colonne A et j'aimerais qu'elle n'apparaisse qu'une seule fois et que du coup ses réponses soient transposées sur une même ligne au lieu d'être présentées en colonne.

Par exemple :
Colonne A Colonne B Colonne C Colonne D Colonne E
600100 1
600100 7
600100 8
600101 2
600101 4
600101 5
600101 8
...

Et je voudrais avoir :
Colonne A Colonne B Colonne C Colonne D Colonne E
600100 1 7 8
600101 2 4 5 8


En gros il me faudrait une macro qui dise : à chaque changement de valeur dans colonne A, transposer le contenu de la colonne B dans la colonne C et les suivantes, puis effacer les lignes vides. Y aurait-il selon vous, une macro qui pourrait faire cela ?

Je vous remercie d'avance...

A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
bonjour,

Avec le code suivant tu devrais obtenir ce que tu veux :

Public Sub col_en_lig()
Dim lig As Long, col As Integer
col = 2
lig = 1
While Cells(lig, 1).Value <> ""
    If Cells(lig, 1).Value = Cells(lig + 1, 1).Value Then
        col = col + 1
        Cells(lig, col).Value = Cells(lig + 1, 2).Value
        Rows(lig + 1).Delete
    Else
        col = 2
        lig = lig + 1
    End If
Wend
End Sub

Bien entendu tu sauvegardes ton résultat sous un autre nom afin de garder la base intacte au cas où.
0
lapluchouet Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infiniment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C'est exactement ça ! Merci merci merci !! Tu m'as sauvé de plus de 9000 lignes !!!!!
0