Bonjour,
Je cherche à transposer des lignes en colonnes.
Classique vous me direz, mais je veux répéter la 1ère ligne.
J'ai trouvé sur un autre forum la macro ci-dessous qui permet de transformer
Client date1, date 2, Date
Client 1 16/01/2013 17/04/2013 20/04/2013
Client 2 01/01/2013 18/01/2013 28/04/2013
en
Client 1 16/01/2013
Client 1 17/04/2013
Client 1 20/04/2013
Client 2 01/01/2013
Client 2 18/01/2013
Client 2 28/04/2013
mais je voudrais
Client 1 date 1 16/01/2013
Client 1 date 2 17/04/2013
Client 1 date 3 20/04/2013
Client 2 date 1 01/01/2013
Client 2 date 2 18/01/2013
Client 2 date 3 28/04/2013
La macro est ci-dessous.
1000 merci pour votre aide pour customiser cette macro (je ne maitrise pas bien les loop)
Option Explicit
Sub TransposerDates()
Dim n°L As Long
Dim n°C As Integer
Dim ctr As Long
'Première ligne de données du tableau
n°L = 2
'Explorer toutes les lignes du tableau
Do While Cells(n°L, 1).Value > ""
'Chercher la dernière colonne de date sur la ligne
n°C = Cells(n°L, 2).End(xlToRight).Column
'mettre à 0 le comptr de dates déplacées
ctr = 0
'Si il faut déplacer la date...
Do While n°C > 2
'Insérer une ligne
Rows(n°L + 1).Insert
'Copier le nom du client
Cells(n°L + 1, 1).Value = Cells(n°L, 1).Value
'Déplacer la date
Cells(n°L, n°C).Cut Cells(n°L + 1, 2)
'Compter le nombre de déplacements
ctr = ctr + 1
'Colonne précédente
n°C = n°C - 1
Loop
'ligne suivante
n°L = n°L + ctr + 1
Loop
End Sub
Je cherche à transposer des lignes en colonnes.
Classique vous me direz, mais je veux répéter la 1ère ligne.
J'ai trouvé sur un autre forum la macro ci-dessous qui permet de transformer
Client date1, date 2, Date
Client 1 16/01/2013 17/04/2013 20/04/2013
Client 2 01/01/2013 18/01/2013 28/04/2013
en
Client 1 16/01/2013
Client 1 17/04/2013
Client 1 20/04/2013
Client 2 01/01/2013
Client 2 18/01/2013
Client 2 28/04/2013
mais je voudrais
Client 1 date 1 16/01/2013
Client 1 date 2 17/04/2013
Client 1 date 3 20/04/2013
Client 2 date 1 01/01/2013
Client 2 date 2 18/01/2013
Client 2 date 3 28/04/2013
La macro est ci-dessous.
1000 merci pour votre aide pour customiser cette macro (je ne maitrise pas bien les loop)
Option Explicit
Sub TransposerDates()
Dim n°L As Long
Dim n°C As Integer
Dim ctr As Long
'Première ligne de données du tableau
n°L = 2
'Explorer toutes les lignes du tableau
Do While Cells(n°L, 1).Value > ""
'Chercher la dernière colonne de date sur la ligne
n°C = Cells(n°L, 2).End(xlToRight).Column
'mettre à 0 le comptr de dates déplacées
ctr = 0
'Si il faut déplacer la date...
Do While n°C > 2
'Insérer une ligne
Rows(n°L + 1).Insert
'Copier le nom du client
Cells(n°L + 1, 1).Value = Cells(n°L, 1).Value
'Déplacer la date
Cells(n°L, n°C).Cut Cells(n°L + 1, 2)
'Compter le nombre de déplacements
ctr = ctr + 1
'Colonne précédente
n°C = n°C - 1
Loop
'ligne suivante
n°L = n°L + ctr + 1
Loop
End Sub