Transposition VBA (étape par étape) - Top 2 des méthodes à transposer en VBA

Table des matières

Nous avons vu la fonction de transposition dans la feuille de calcul Excel lorsque nous collons une table de données dans la feuille de calcul, ce que la transposition fait, c'est qu'elle change la position des lignes et des colonnes, c'est-à-dire que les lignes deviennent des colonnes et les colonnes deviennent des lignes dans une table de données, maintenant puisqu'il s'agit d'une feuille de calcul fonction dans VBA, nous l'utilisons avec la méthode Application.worksheet dans VBA.

Comment transposer en VBA?

Basculer entre les lignes et les colonnes est l'une des techniques de manipulation des données que presque tous les utilisateurs font dans Excel. Le processus de conversion des données horizontales en données verticales et verticales en données horizontales est appelé «Transposer» dans Excel. Je suis sûr que vous devez être familiarisé avec la transposition dans une feuille de travail ordinaire. Dans cet article, nous allons vous montrer comment utiliser la méthode de transposition dans le codage VBA.

Nous pouvons transposer en VBA en utilisant deux méthodes.

  1. Transposer à l'aide de la formule TRANSPOSE.
  2. Transposer en utilisant la méthode spéciale de collage.

Lorsque nous transposons, nous échangeons des lignes en colonnes et des colonnes en lignes. Par exemple, si les données sont dans un tableau 4 X 3, elles deviennent alors un tableau 3 X 4.

Voyons quelques exemples pour transposer de colonne en ligne dans VBA.

# 1 - Transposer VBA à l'aide de la formule TRANSPOSE

Tout comme la façon dont nous utilisons TRANSPOSE dans Excel, nous pouvons également utiliser la formule TRANSPOSE dans VBA. Nous n'avons pas de formule TRANSPOSE dans VBA, nous devons donc l'utiliser sous la classe Worksheet Function.

Par exemple, regardez l'image de données ci-dessous.

Nous allons essayer de transposer ce tableau de valeurs. Suivez les étapes ci-dessous pour transposer les données.

Étape 1: Démarrez la sous-procédure.

Code:

Sub Transpose_Example1 () End Sub

Étape 2: Tout d'abord, nous devons décider où nous allons transposer les données. En cela, j'ai choisi de transposer de la cellule D1 à H2. Entrez donc le code VBA sous la forme Range («D1: H2»). Valeur =

Code:

Sub Transpose_Example1 () Range ("D1: H2"). Value = End Sub

Étape 3: Maintenant, dans la plage mentionnée ci-dessus, nous avons besoin de la valeur de la plage A1 à B5. Pour arriver à cette classe ouverte «Fonction de feuille de travail» et sélectionnez la formule «Transposer».

Étape 4: Dans Arg 1, indiquez la plage de source de données, c'est-à-dire Range («A1: D5») .

Code:

Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub

Ok, nous en avons terminé avec le codage de la formule TRANSPOSE. Exécutez maintenant le code pour voir le résultat dans la plage de cellules D1 à H2.

Comme nous l'avons vu dans l'image ci-dessus, il a converti la plage de cellules des colonnes en lignes.

# 2 - Transposer VBA à l'aide de la méthode spéciale Coller

Nous pouvons également transposer en utilisant la méthode Paste Special. Considérez également les mêmes données pour cet exemple.

La première chose à faire pour transposer est de copier les données. Écrivez donc le code sous la forme Range ("A1: B5"). Copier

Code:

Sub Transpose_Example2 () Range ("A1: B5"). Copy End Sub

La prochaine chose est que nous devons décider où nous allons coller les données. Dans ce cas, j'ai choisi D1 comme cellule de destination souhaitée.

Code:

Sub Transpose_Example2 () Range ("A1: B5"). Copier la plage ("D1"). End Sub

Une fois la cellule de destination souhaitée sélectionnée, nous devons sélectionner "Coller la méthode spéciale".

Avec coller spécial, nous pouvons effectuer toutes les actions que nous avons avec des méthodes spéciales de collage régulières dans une feuille de calcul.

Ignorez tous les paramètres et sélectionnez le dernier paramètre, c'est-à-dire Transpose, et définissez-le sur TRUE.

Code:

Sub Transpose_Example2 () Range ("A1: B5"). Copier la plage ("D1"). PasteSpecial Transpose: = True End Sub

Cela transposera également les données comme la méthode précédente.

Comme ça, nous pouvons utiliser la formule TRANSPOSE ou la méthode Collage spécial pour transposer les données afin de changer les lignes en colonnes et les colonnes en lignes.

Choses dont il faut se rappeler

  • Si nous utilisons la fonction de feuille de calcul TRANSPOSE, il est obligatoire de calculer un certain nombre de lignes et de colonnes pour transposer les données. Si nous avons 5 lignes et 3 colonnes, alors lors de la transposition, cela devient 3 lignes et 5 colonnes.
  • Si vous voulez la même mise en forme tout en utilisant le collage spécial, vous devez utiliser l'argument Type de collage comme «xlPasteFormats».

Vous pouvez télécharger ce modèle Excel de transposition VBA à partir d'ici - Modèle Excel de transposition VBA.

Articles intéressants...