Bonjour/soir à tous.
Jeune utilisateur de VBA, je développe (du moins j'essaie) une macro qui doit permettre, à partir d'un tableau, de transposer l'ensemble des contenus des lignes dans une même colonne.
J'ajoute un exemple visuel:
A B C D
a a a
b
c c
devrait me donner (je le place dans une 2e feuille):
A B C D
a
a
a
b
c
c
Pour se faire, j'ai écrit ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Option Base 1 Option Explicit Sub TRANSPOSITION() ... (pour l'essentiel:) Dim i As Long, j As Long Dim nbcol As Integer, nblot As Long Dim departcopiee As String, departreçu As String nbcol = 10 'nbr de colonnes max/ligne tableau intial nblot = 10000 'nbr de ligne max tableau initial departcopiee = "A4" 'cellule où commence l'extraction departreçu = "A5" '1ere cellule de réception For j = 0 To nbcol - 1 For i = 0 To nblot Sheets("Feuil4").Select Range(departcopiee).Offset(i, j).Copy Sheets("Feuil5").Select Range(departreçu).Offset(j + (i * j), 0).Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:= _ xlNone, SkipBlanks:=True, transpose:=True Next i Next j End Sub
Mon problème^^:
ça mouline ça mouline, et après ça affiche bien dans une colonne, mais dans un ordre douteux etc. Visiblement ça recolle où ça a déjà été collé etc
Je vous avouerai ne pas avoir bien compris ce qui se passait, surement un problème des indices i et j du offset.
Je ne m'en sors pas, je me tourne donc vers vous, en espérant avoir été le plus clair possible.
Merci d'avance à ceux qui voudront bien me donner un coup de pousse!!
Partager