Transposer col en lig quand chgment de valeur
Résolu
lapluchouet
Messages postés
2
Statut
Membre
-
lapluchouet Messages postés 2 Statut Membre -
lapluchouet Messages postés 2 Statut Membre -
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...
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:
- Transposer col en lig quand chgment de valeur
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Excel ne pas afficher #valeur ✓ - Forum Excel
- Attribuer une valeur à une cellule texte excel ✓ - Forum Excel
- Formule excel si contient texte alors valeur ✓ - Forum Excel
1 réponse
bonjour,
Avec le code suivant tu devrais obtenir ce que tu veux :
Bien entendu tu sauvegardes ton résultat sous un autre nom afin de garder la base intacte au cas où.
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ù.
lapluchouet
Messages postés
2
Statut
Membre
Merci infiniment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C'est exactement ça ! Merci merci merci !! Tu m'as sauvé de plus de 9000 lignes !!!!!