Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
Icône de la ressource

VBA - Fonction Transpose() alternative à la fonction WorksheetFunction.Transpose() V1

Le fichier à télécharger contient:
  1. Le Module_Transpose2D à importer dans le projet VBA.
  2. Le Module_Test qui donne un exemple d'utilisation.
Note: Voir toutes mes ressources -> https://excel-downloads.com/resources/?creator_id=268468

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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…