Transposition VBA

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 calcul régulière.Dans cet article, nous vous montrerons 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 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 utiliser sous la classe Worksheet Function.

Pour un 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: Nous devons d'abord 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, fournissez 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 des formules TRANSPOSE. Exécutez maintenant le code pour voir le résultat dans la plage de cellules D1 à H2.

Comme nous l'avons vu, l'image ci-dessus a converti la plage de cellules des colonnes aux 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 que la cellule de destination souhaitée est sélectionnée, nous devons sélectionner «Méthode spéciale de collage».

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 rendez-le 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 à retenir

  • 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, lors de la transposition, cela devient 3 lignes et 5 colonnes.
  • Si vous voulez le même formatage 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