VBA coller transposé de plusieurs colonnes à la suite
Résolu/Fermé
camcam1404
Messages postés
64
Date d'inscription
mardi 13 décembre 2016
Statut
Membre
Dernière intervention
9 septembre 2019
-
13 déc. 2016 à 18:38
camcam1404 Messages postés 64 Date d'inscription mardi 13 décembre 2016 Statut Membre Dernière intervention 9 septembre 2019 - 14 déc. 2016 à 19:22
camcam1404 Messages postés 64 Date d'inscription mardi 13 décembre 2016 Statut Membre Dernière intervention 9 septembre 2019 - 14 déc. 2016 à 19:22
A voir également:
- VBA coller transposé de plusieurs colonnes à la suite
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Word colonnes indépendantes - Guide
- Copier coller pdf - Guide
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
1 réponse
thev
Messages postés
1892
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
26 novembre 2024
691
13 déc. 2016 à 19:23
13 déc. 2016 à 19:23
Bonsoir,
Essayer ce code
Essayer ce code
--
Const Firstline As Long = 3
Const Lastline As Long = 4
Const NbrCol As Long = 3
Const Nbrline As Long = 2
Const Firstcolumn As Long = 2
Dim c As Long
For c = 0 To NbrCol - 1
Cells(Lastline + 2, Firstcolumn + c * Nbrline).Resize(, Nbrline).Value = Application.Transpose(Range(Cells(Firstline, Firstcolumn + c), Cells(Lastline, Firstcolumn + c)).Value)
Next c
13 déc. 2016 à 19:45
Mon code était vraiment trop mauvais ? J'aurai bien aimé comprendre ce qui n'allait pas.
Modifié par thev le 13/12/2016 à 21:26
Une double boucle n'était pas vraiment nécessaire. Avec une simple boucle, il est plus facile de voir ce qui ne fonctionne pas.
Cette instruction : ne sélectionne qu'une cellule. Pour sélectionner une plage à partir d'une cellule, il faut utiliser la propriété resize :
= plage de 2 cellules sur 1 colonne et 2 lignes
= plage de 2 cellules sur 2 colonnes et 1 ligne
= plage de 4 cellules sur 2 colonnes et 2 lignes
14 déc. 2016 à 19:22