XL 2019 Transformer des colonnes en lignes VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
267
Réponses
3
Affichages
589
Réponses
72
Affichages
1 K
Réponses
6
Affichages
150
Retour