Transposer certaines lignes d'un fichier en colonne
Fermé
avenue_B
Messages postés
2
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
15 octobre 2020
-
Modifié le 12 oct. 2020 à 19:52
yg_be Messages postés 23477 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 mars 2025 - 15 oct. 2020 à 12:16
yg_be Messages postés 23477 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 mars 2025 - 15 oct. 2020 à 12:16
A voir également:
- Transposer certaines lignes d'un fichier en colonne
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Déplacer une colonne excel - Guide
- Ouvrir un fichier .bin - Guide
3 réponses
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
Ambassadeur
1 568
13 oct. 2020 à 11:43
13 oct. 2020 à 11:43
bonjour,
ton exemple est-il correct?
ton exemple est-il correct?
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
Ambassadeur
1 568
13 oct. 2020 à 12:25
13 oct. 2020 à 12:25
connais-tu les tableaux croisés dynamiques?
avenue_B
Messages postés
2
Date d'inscription
lundi 12 octobre 2020
Statut
Membre
Dernière intervention
15 octobre 2020
Modifié le 15 oct. 2020 à 11:42
Modifié le 15 oct. 2020 à 11:42
Bonjour ! Je ne connais pas les tableaux croisés dynamiques. je m'en suis sortie en copiant le code de Raja (sur un autre site)
Merci pour vos commentaires !
(je ne sais pas comment cloturer cette demande)
Option Explicit
Sub toColumns()
Dim wsSource As Worksheet, wsDest As Worksheet
Dim derLig, i, k, lig, col As Long
Set wsSource = Sheets(1)
Set wsDest = Sheets(2)
On Error Resume Next
derLig = wsSource.Range("A" & Rows.Count).End(xlUp).Row
k = 2
For i = 2 To derLig
With wsSource
'données Crayon :
If WorksheetFunction.CountIf(wsDest.Columns(1), .Cells(i, "A")) = 0 Then
wsDest.Cells(k, "A") = .Cells(i, "A")
wsDest.Cells(k, "B") = .Cells(i, "B")
wsDest.Cells(k, "C") = .Cells(i, "C")
k = k + 1
End If
'valeurs selon entête Coloris :
lig = WorksheetFunction.Match(.Cells(i, "A"), wsDest.Columns(1), 0)
col = WorksheetFunction.Match(.Cells(i, "D"), wsDest.Rows(1), 0)
wsDest.Cells(lig, col) = .Cells(i, "E")
End With
Next i
Set wsSource = Nothing
Set wsDest = Nothing
End Sub
Merci pour vos commentaires !
(je ne sais pas comment cloturer cette demande)
Option Explicit
Sub toColumns()
Dim wsSource As Worksheet, wsDest As Worksheet
Dim derLig, i, k, lig, col As Long
Set wsSource = Sheets(1)
Set wsDest = Sheets(2)
On Error Resume Next
derLig = wsSource.Range("A" & Rows.Count).End(xlUp).Row
k = 2
For i = 2 To derLig
With wsSource
'données Crayon :
If WorksheetFunction.CountIf(wsDest.Columns(1), .Cells(i, "A")) = 0 Then
wsDest.Cells(k, "A") = .Cells(i, "A")
wsDest.Cells(k, "B") = .Cells(i, "B")
wsDest.Cells(k, "C") = .Cells(i, "C")
k = k + 1
End If
'valeurs selon entête Coloris :
lig = WorksheetFunction.Match(.Cells(i, "A"), wsDest.Columns(1), 0)
col = WorksheetFunction.Match(.Cells(i, "D"), wsDest.Rows(1), 0)
wsDest.Cells(lig, col) = .Cells(i, "E")
End With
Next i
Set wsSource = Nothing
Set wsDest = Nothing
End Sub
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
15 oct. 2020 à 12:16
15 oct. 2020 à 12:16
Merci, dans le futur, de nous informer immédiatement quand tu poses la même question sur un autre forum.
yg_be
Messages postés
23477
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 mars 2025
1 568
15 oct. 2020 à 12:16
15 oct. 2020 à 12:16
n'as-tu pas un bouton vert "marquer comme résolu"?