VBA excel : insertion de 5 lignes + transposition

Résolu
apprentiexcel -  
 apprentiexcel -
Bonjour,

J'ai un programme à réaliser sur EXCEL VBA et je n'arrive pas à résoudre mon problème AU SECOURS !!!!

J'ai un tableur du type :
04/08/2014 164 157 154 153 153 144
04/08/2014 141 148 132 132 133 133
04/08/2014 137 135 135 141 142 136
04/08/2014 133 134 127 132 134 132
04/08/2014 125 129 124 124 123 123
04/08/2014 133 136 126 127 131 130

et souhaite insérer entre chaque ligne, 5 lignes vides, puis transposer les 5 colonnes en dessous de la colonne 2, pour avoir le résultat suivant (le tout dans la même colonne):

04/08/2014 164 157 154 153 153 144
157
154
153
153
144
04/08/2014 141 148 132 132 133 133
148
132
132
133
133
04/08/2014 137 135 135 141 142 136
135
135
141
142
136
04/08/2014 133 134 127 132 134 132
134
127
132
134
132
04/08/2014 125 129 124 124 123 123
129
124
124
123
123
04/08/2014 133 136 126 127 131 130
136
126
127
131
130

J'espère que vous avez l'esprit plus logique que moi ! ;)
Merci d'avance pour vos réponses !

3 réponses

  1. apprentiexcel
     
    on ne le voit pas bien dans le message, mais je précise je souhaite transposer les chiffres des 5 dernières colonnes en dessous de la colonne 2

    Merci d'avance ! =)
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    combien as tu de lignes (environ) au départ ?

    0
    1. apprentiexcel
       
      J'ai plusieurs fichiers, ça peut aller jusqu'à 20 000 lignes.
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      C'est parti ! réponse certainement demain
      0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Ben ce sera avant la soupe de châtaignes et l'omelette aux cèpes ;o)

    Option Explicit
    Option Base 1
    '--------------------------------------------------------------------------
    Sub transposer_5()
    Dim Derlig As Long, T_in, T_out
    Dim Cptr_in As Long, cptr_out As Long, Col As Byte

    '----------------------------------------------------initialisations
    Application.ScreenUpdating = False
    'mémorisation des tableaux brut et sortie
    Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
    T_in = Range("A2:G" & Derlig) ' adapter ligne départ
    ReDim T_out(UBound(T_in) * 6, 7)

    '---------------------------------------------------réorganisation des données
    cptr_out = 1
    For Cptr_in = 1 To UBound(T_in)
    For Col = 1 To 7
    T_out(cptr_out, Col) = T_in(Cptr_in, Col)
    Next
    For Col = 2 To 7
    T_out(cptr_out, 2) = T_in(Cptr_in, Col)
    cptr_out = cptr_out + 1
    Next
    Next
    '-----------------------restitution de la réorganisation
    Columns("L:R").Clear 'transformer en A:G" après essais
    Range("L2").Resize(UBound(T_out), 7) = T_out 'a transformer en A2 après essais
    End Sub


    La maquette
    http://www.cjoint.com/c/EKfrfSLt8NL

    tu dis

    Michel
    0
    1. apprentiexcel
       
      C'est super ! Ça marche nickel et en plus c'est immédiat !
      Au top ! Merci beaucoup ! :)
      0