Transposer données lignes dans colonnes

danpom302

XLDnaute Nouveau
Bonjour à tous,

Je suis à la recherche d'une macro permettant de transposer les données se trouvant dans les cellules B2 à B401 dans les cellules D2 à K401.

Ci-joint mon document Excel.

Merci.

Dan
 

Pièces jointes

  • Macro transposer.xlsm
    28 KB · Affichages: 56

danpom302

XLDnaute Nouveau
Re : Transposer données lignes dans colonnes

Bonjour fhoest ,

Merci pour ta première suggestion mais je crois que ma demande n'était pas explicite. Dans mon deuxième message, je crois que mon document dont je faisais allusion, n'a pas suivi.

Je joins un nouveau document Excel "Macro transposer2" avec un premier onglet "Données" et un deuxième onglet "Résultat recherché".

L'idée est de copier un bloc de 8 cellules soit B2 à B9, et de transposer ce bloc à l’horizontal dans les cellules D2 à K2 et ce jusqu'au bloc 50.

Merci pour ton aide,

Dan
 

Pièces jointes

  • Macro transposer2.xlsm
    37.4 KB · Affichages: 42
  • Macro transposer2.xlsm
    37.4 KB · Affichages: 44
  • Macro transposer2.xlsm
    37.4 KB · Affichages: 46

JHA

XLDnaute Barbatruc
Re : Transposer données lignes dans colonnes

Bonjour à tous,

Un essai par formule

La formule en colonne "E" peut être copiée en colonne "D" à la place de recherchev()

JHA
 

Pièces jointes

  • Macro transposer2.xlsm
    41.2 KB · Affichages: 41
  • Macro transposer2.xlsm
    41.2 KB · Affichages: 40
  • Macro transposer2.xlsm
    41.2 KB · Affichages: 45
Dernière édition:

danpom302

XLDnaute Nouveau
Re : Transposer données lignes dans colonnes

Bonjour JHA,

Merci pour ta proposition par formule. Le tout fonctionne très bien.

J'ai appris la formule décaler que je n'avais jamais utilisé.

J'ai plus de 3,000 lignes d'information à transposer pour créer une table de données.

Merci et bonne journée,

Dan
 

fhoest

XLDnaute Accro
Re : Transposer données lignes dans colonnes

Bonsoir ,
une solution par VBA:
Code:
Sub transpose()
For i = 2 To 401
Sheets("Données").Range("D2").Offset(o + j, i - k - 2).Value = Sheets("Données").Range("B" & i).Value: If Sheets("Données").Range("D2").Offset(o + j, i - k - 2).Column = 11 Then j = j + 1: k = 8 * j
Next
End Sub
A+
 

Discussions similaires

Réponses
7
Affichages
266

Statistiques des forums

Discussions
311 705
Messages
2 081 721
Membres
101 803
dernier inscrit
astyx26