Macro pour transposer ligne en colonne

Franky-ki Messages postés 1 Statut Membre -  
Patrice33740 Messages postés 8400 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

1 réponse

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    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