[Excel.VBA]Transformer les colonnes en lignes
Résolu/Fermé
iliesss
iliesss
- Messages postés
- 113
- Date d'inscription
- mardi 14 septembre 2010
- Statut
- Membre
- Dernière intervention
- 26 octobre 2014
iliesss
- Messages postés
- 113
- Date d'inscription
- mardi 14 septembre 2010
- Statut
- Membre
- Dernière intervention
- 26 octobre 2014
A voir également:
- [Excel.VBA]Transformer les colonnes en lignes
- [Excel.VBA]Transformer les colonnes en lignes ✓ - Forum - VB / VBA
- Transformer des colonnes en lignes excel - Conseils pratiques - Excel
- Excel selectionner toute une colonne sauf ligne - Forum - Bureautique
- Transformer des colonnes en lignes dans un fichier - Conseils pratiques - Shell
- {SQL Server} transformer une colone en ligne pour ✓ - Forum - SQL Server
2 réponses
lermite222
6 déc. 2010 à 13:44
- Messages postés
- 8702
- Date d'inscription
- dimanche 8 avril 2007
- Statut
- Contributeur
- Dernière intervention
- 22 janvier 2020
6 déc. 2010 à 13:44
Bonjour,
Voir avec "Collage spécial" et le paramètre "Transpose"
A+
Voir avec "Collage spécial" et le paramètre "Transpose"
A+
michel_m
Modifié par michel_m le 6/12/2010 à 17:33
- Messages postés
- 16569
- Date d'inscription
- lundi 12 septembre 2005
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
Modifié par michel_m le 6/12/2010 à 17:33
Bonjour,
regarde si cette macro te convient:
Michel
Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
regarde si cette macro te convient:
Sub transposer_sur1ligne() Dim lig As Integer, cptr As Byte, source As String, cible As String Application.ScreenUpdating = False With Sheets("table") lig = .Range("A1000").End(xlUp).Row + 1 .Cells(lig, 1) = Format(Sheets("saisie").Range("D1"), "mm/dd/yy") .Cells(lig, 2) = Sheets("saisie").Range("D2") End With For cptr = 1 To 9 With Sheets("saisie") source = Choose(cptr, "B5:B8", "B10:B15", "B17", "C5:C8", "C10:C15", "C17", "D5:D8", "D10:D15", "D17") End With With Sheets("table") cible = Choose(cptr, "C" & lig & ":F" & lig, "G" & lig & ":L" & lig, "M" & lig, _ "N" & lig & ":Q" & lig, "R" & lig & ":W" & lig, "X" & lig, _ "Y" & lig & ":AB" & lig, "AC" & lig & ":AH" & lig, "AI" & lig) .Range(cible) = Evaluate("transpose(saisie!" & source & ")") End With Next With Sheets("saisie") .Range("D1:D2").ClearContents .Range("nettoye").ClearContents End With End Sub
Michel
Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
michel_m
6 déc. 2010 à 17:41
- Messages postés
- 16569
- Date d'inscription
- lundi 12 septembre 2005
- Statut
- Contributeur
- Dernière intervention
- 23 mai 2022
6 déc. 2010 à 17:41
Heu, j'oubliais !...
range("nettoye")
"nettoye" correspond a la plage
demo:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij5nlZs09.xls
range("nettoye")
"nettoye" correspond a la plage
=saisie!$B$5:$D$8;saisie!$B$10:$D$15;saisie!$B$17:$D$17
demo:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij5nlZs09.xls
iliesss
7 déc. 2010 à 16:26
- Messages postés
- 113
- Date d'inscription
- mardi 14 septembre 2010
- Statut
- Membre
- Dernière intervention
- 26 octobre 2014
7 déc. 2010 à 16:26
Salut mr Michel ça marche très bien
Je vous remercier infiniment .
Je vous remercier infiniment .