XL 2019 Transformer des colonnes en lignes VBA

AntoineJ13

XLDnaute Nouveau
Bonjour,

J'ai un problème particulier sur excel et particulièrement en VBA

Je souhaite Transformer des données étalées en colonnes en ligne afin de les analyser plus efficacement.

Je vous transmets en excel qui vous montre l'actuel et ce que je souhaite.

Je n'ai pas idée de comment procéder, merci pour votre aide :)

Antoine
 

Pièces jointes

  • Exemple Colonne en Ligne.xlsx
    13.3 KB · Affichages: 6

GALOUGALOU

XLDnaute Accro
bonsoir le forum
re antoinej13
cette macro fait le job, copie de la feuil1 en feuil2
VB:
Sub extraction()
Dim i As Integer, i2 As Integer, f1 As Worksheet, f2 As Worksheet
Set f1 = Sheets("Feuil1")
Set f2 = Sheets("Feuil2")
f2.Range(f2.Cells(2, 2), f2.Cells(1000, 17)).Clear
fin = f1.Range("B" & Rows.Count).End(xlUp).Row

i2 = 2
For i = 2 To fin
If f1.Cells(i, 13) <> "" Then
f1.Range(f1.Cells(i, 2), f1.Cells(i, 11)).Copy f2.Cells(i2, 2)
f2.Cells(i2, 12) = f1.Cells(i, 12)
f2.Cells(i2, 13) = f1.Cells(i, 13)
i2 = i2 + 1
End If
If f1.Cells(i, 15) <> "" Then
f1.Range(f1.Cells(i, 2), f1.Cells(i, 11)).Copy f2.Cells(i2, 2)
f2.Cells(i2, 12) = f1.Cells(i, 14)
f2.Cells(i2, 13) = f1.Cells(i, 15)
i2 = i2 + 1
End If
If f1.Cells(i, 17) <> "" Then
f1.Range(f1.Cells(i, 2), f1.Cells(i, 11)).Copy f2.Cells(i2, 2)
f2.Cells(i2, 12) = f1.Cells(i, 16)
f2.Cells(i2, 13) = f1.Cells(i, 17)
i2 = i2 + 1
End If
Next i
f2.Select
End Sub
cdt
galougalou
 

Pièces jointes

  • Copie de Exemple Colonne en Ligne.xlsm
    23.4 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino