Macro pour transposer ligne en colonne

Fermé
Franky-ki Messages postés 1 Date d'inscription lundi 21 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013 - 21 janv. 2013 à 21:20
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 22 janv. 2013 à 12:33
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
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 janv. 2013 à 12:33
Bonjour,

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
 
0