Le fichier à télécharger contient:
Les principales caractéristiques:
- Le Module_Transpose2D à importer dans le projet VBA.
- Le Module_Test qui donne un exemple d'utilisation.
Les principales caractéristiques:
Le Module_Transpose2D contient:
- La fonction Transpose2D() qui permet de transposer:
- un Range d'une seule Area,
- une table à 1 ou 2 dimensions,
- une valeur.
- Dans tous les cas, la fonction Transpose2D() n'est pas limitée à 65535 items contrairement à la fonction Excel WorksheetFunction.Transpose().
- La fonction Transpose2D() donne 2 options pour la transposition selon le paramètre LikeExcel:
- Transposer selon les mêmes règles que Excel WorksheetFunction.Transpose().
- Transposer en 2 dimensions pour toujours obtenir une table transposée à 2 dimensions et ajuster si besoin les LBound de la table transposée.
- LikeExcel = True - Transposer selon les mêmes règles que Excel WorksheetFunction.Transpose().
Les 3 spécificités de la fonction Excel sont respectées:
1 - Lorsque la 2ème dimension est unitaire, elle est supprimée dans la table transposée.
2 - Le ou les LBound de la table transposée sont toujours à 1 quels qu'il soient dans la table source.
3 - Lorsque t est une valeur (pas une table), cette même valeur est retournée.
- - LikeExcel = False - Transposer en 2 dimensions (). Option par défaut recommandée.
- La table transposée aura TOUJOURS 2 dimensions (***) de sorte que l'indiçage de la table transposée pourra se faire de manière constante avec 2 indices t(x, y).
(***) Sauf si la table source n'est pas dimensionnée auquel cas elle sera retournée telle quelle.
- Les LBound et UBound de la table transposée sont les LBound et UBound transposés de la table source.
- Des paramètres permettent de forcer les LBound de la table transposée si besoin.