Macro pour transposer ligne en colonne
Franky-ki
Messages postés
1
Statut
Membre
-
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8931 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai par le biais d'une macro transposer une multitude de lignes en colonnes mais conserver une donnée
Voila comment est constitué mon tableau
Client date
Client 1 16/01/2013 17/04/2013 20/04/2013
Client 2 01/01/2013 18/01/2013 28/04/2013
Et je souhaiterai avoir:
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
Merci de m'aider à avancer
Je souhaiterai par le biais d'une macro transposer une multitude de lignes en colonnes mais conserver une donnée
Voila comment est constitué mon tableau
Client date
Client 1 16/01/2013 17/04/2013 20/04/2013
Client 2 01/01/2013 18/01/2013 28/04/2013
Et je souhaiterai avoir:
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
Merci de m'aider à avancer
A voir également:
- Macro pour transposer ligne en colonne
- Partager photos en ligne - Guide
- Déplacer colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mètre en ligne - Guide
- Trier colonne excel - Guide
1 réponse
Bonjour,
Essaies ce code :
Essaies ce code :
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