Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier - Coller Transposer "en escalier"

bloublou

XLDnaute Occasionnel
Bonsoir à tous,

Je reviens avec encore un pb de copier coller transposé en escalier.
Plusieurs personnes m'ont déjà aidé sur des sujets similaires.
Je pensais avoir réussi à l'adapter mais ca écrase des données au milleu de la macro.

En partant d'un tableau je voudrais présenter ce tableau dans un autre sens

Je mets un petit fichier qui sera plus explicite

Si quelqu'un peut m'aider ?

Merci

BlouBlou
 

Pièces jointes

  • primeur.xlsm
    32.9 KB · Affichages: 39
Dernière édition:
G

Guest

Guest
Re : Copier - Coller Transposer "en escalier"

Bonjour,

Voir fichier joint la macro HTranspose ci-dessous:
Code:
Sub HTranspose()
Dim Tailles As Variant, datas As Variant
Dim lg As Long, nb As Long
Dim fruit As String, nombre As Integer
    Tailles = Sheets("Base").Range("B1:AD1").Value
    For lg = 2 To Sheets("Base").Range("AE" & Rows.Count).End(xlUp).Row
        datas = Sheets("Base").Range("B" & lg & ":AD" & lg).Value
        nombre = Sheets("Base").Range("A" & lg)
        fruit = Sheets("Base").Range("AE" & lg)
        With Sheets("Resultat").Range("A" & Rows.Count).End(xlUp)(2)
            nb = UBound(datas, 2)
            .Resize(nb) = fruit
            .Offset(, 1).Resize(nb) = nombre
            .Offset(, 2).Resize(nb) = Application.Transpose(Tailles)
            .Offset(, 3).Resize(nb) = Application.Transpose(datas)
        End With
    Next lg
End Sub

A+

[edit] hello Monique tu as la formule toujours aussi efficace
A+++
 
Dernière modification par un modérateur:

bloublou

XLDnaute Occasionnel
Re : Copier - Coller Transposer "en escalier"

Bonjour Le forum,

Merci Hasco ca marche bien mici mici
Et Monique merci aussi par contre, par formules je comprends pas la logique...

MOD(LIGNE()-2;29) => je comprends pas

=DECALER(Base!$B$2;$B2-1+(LIGNE()-1>116)*4+(LIGNE()-1>116*2)*4+(LIGNE()-1>116*3)*4+(LIGNE()-1>116*4)*4+(LIGNE()-1>116*5)*4+(LIGNE()-1>116*6)*4+(LIGNE()-1>116*7)*4;MOD(LIGNE()-2;29)) => whaaaaaa

Merci

BlouBlou
 

Discussions similaires

Réponses
3
Affichages
814
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…