Comment transposer une plage en VBA (avec exemple)
Vous pouvez utiliser la syntaxe de base suivante pour transposer une plage à l’aide de VBA :
Sub TransposeRange()
'specify range to transpose
MyRange = Range("A1:B5")
'find dimensions of range
XUpper = UBound(MyRange, 1)
XLower = LBound(MyRange, 1)
YUpper = UBound(MyRange, 2)
YLower = LBound(MyRange, 2)
'transpose range
Range("D1").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
WorksheetFunction.Transpose(MyRange)
End Sub
Cet exemple particulier transposera les cellules de la plage A1:B5 et affichera la plage transposée commençant dans la cellule D1 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment transposer une plage dans VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :
Supposons que nous souhaitions transposer la plage A1:B5 et afficher la plage transposée commençant dans la cellule D1 .
Nous pouvons créer la macro suivante pour ce faire :
Sub TransposeRange()
'specify range to transpose
MyRange = Range("A1:B5")
'find dimensions of range
XUpper = UBound(MyRange, 1)
XLower = LBound(MyRange, 1)
YUpper = UBound(MyRange, 2)
YLower = LBound(MyRange, 2)
'transpose range
Range("D1").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
WorksheetFunction.Transpose(MyRange)
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la plage transposée est affichée à partir de la cellule D1 .
Autrement dit, les lignes et les colonnes sont inversées.
Pour transposer une plage différente, remplacez simplement A1: B5 dans la macro par une plage différente.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA Transpose ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment compter les cellules avec un texte spécifique
VBA : Comment compter le nombre de lignes dans la plage
VBA : Comment écrire les fonctions COUNTIF et COUNTIFS