0
(0)

En version Us : TRIMRANGE 😁.

Description

Permet d'exclure les lignes et/ou colonnes vides externes d’une plage.

Disponibilité

Excel 365 Version 2409 (Build 18020.2000) Insider Béta.

Syntaxe

=TRIMRANGE( Plage ; [Row_trim_mode] ; [Col_trim_mode] )

Arguments

  • Plage : La plage de cellule (1 ou 2 dimensions).
  • Row_trim_mode : Choix des lignes devant être ignorées :
    • 0 > Aucune
    • 1 > Début (celles du haut)
    • 2 > Fin (celles du bas)
    • 3 > Toutes (celles du haut et du bas)
  • Col_trim_mode : Choix des colonnes devant être ignorées :
    • 0 > Aucune
    • 1 > Début (celles de gauche)
    • 2 > Fin (celles de droite)
    • 3 > Toutes (celles de gauche et de droite)

Illustration

Les 16 possibilités de paramétrage :

Illustration de la fonction TRIMRANGE
Les 16 possibilités de paramétrage
  • En bleu : La plage de départ.
  • Lig : Valeurs de Row_trim_mode.
  • Col : Valeurs de Col_trim_mode.
  • Plages renvoyées par TRIMRANGE.

Références de cellule Trim

On a un accès rapide aux 3 paramétrages les plus classiques de la fonction TRIMRANGE via une notation spécifique des plages (ajout d'un point avant/après le caractère " : " séparant les 2 références de la plage).

RéférenceÉquivalent àRésultat
A1 . : C5= TRIMRANGE( A1 : C5 ; 1 ; 1 )Exclusion des lignes et colonnes du début
A1 : . C5= TRIMRANGE( A1 : C5 ; 2 ; 2 )Exclusion des lignes et colonnes de la fin
A1 . : . C5= TRIMRANGE( A1 : C5 ; 3 ; 3 )Exclusion des lignes et colonnes du début et de la fin

Vitesse d'exécution avec l'utilisation de références "Trim"

J'ai fait quelques tests mais rien de remarquable (peut être une légère perte de vitesse).

Implémentation

Formules et fonctions

Compatibilité

Pour l'instant rien de particulier à mentionner. Je complèterai cette partie au fur et à mesure (pléonasme) de mes découvertes (s'il y en a 😊).

Une remplaçante des fonctions DANSCOL et DANSLIGNE ?

On peut penser qu'il est possible de remplacer TRIMRANGE par les fonctions DANSCOL et DANSLIGNE si l'on travaille sur une plage en une dimension (1 colonne ou 1 ligne).

Mais comme on peut l'observer dans l'illustration ci-dessous, on n'obtient pas tout à fait le même résultat !

Comparaison entre les fonctions TRIMRANGE et DANSCOL
Illustration de la petite différence entre les fonctions TRIMRANGE et DANSCOL

Ici la fonction DANSCOL va exclure la cellule B6 ce qui n'est pas le cas de la référence Trim.

Finit les tests du type SI( ... ="" ; ... ) ?

J'ai vu plusieurs "démonstrations" pour illustrer l'inutilité de ces tests grâce à ces nouveautés mais ces exemples ne sont pas réellement inutilisable !

Exemple : Mettre en place "à l'avance" les formules de la colonne Total pour faire la somme des colonnes Mt1 et Mt2.

Tableau de départ

Exemple d'utilisation non  fonctionnel

La somme classique
= B2 + C2

Exemple d'utilisation non fonctionnel

On ne trouve pas élégant ces valeurs à 0 dans la colonne Total quand il n'y a pas de valeurs dans les colonnes Mt1 et Mt2. On va donc chercher à les cacher.

La solution SI
= SI( B2 & C2 = "" ; "" ; B2 + C2 )
= SI( B2:B8 & C2:C8 = "" ; "" ; B2:B8 + C2:C8 )

Exemple d'utilisation non fonctionnel

La solution TRIMRANGE
= TRIMRANGE(B2:B8) + TRIMRANGE(C2:C8)

Exemple d'utilisation non fonctionnel

La solution TRIMRANGE fonctionne bien tant qu'il y a le même nombre de valeurs dans les deux colonnes Mt (B et C).
Ici la cellule B5 est vide donc le 1er TRIMRANGE renvoie une matrice de 3 valeurs alors que le 2ème une matrice de 4 valeurs d'où l'erreur #N/A (indique qu'une valeur est non disponible, la 4ème du 1er TRIMRANGE).

Remarque :

  • La 1ère fonction Si nécessite une recopie, pas la 2ème (propagation).
  • En formattant l'affichage des nombres de la colonne Total, on pourrait masquer les 0 mais le total à 0 de la ligne 3 (Produit B) sera lui aussi masqué.
  • Autre solution, une mise en forme conditionnelle permettrait de masquer les 0 de la fin de la colonne tout en préservant celui de la ligne 3 (Produit B).

Références 3D

Non utilisable (Références Trim et TRIMRANGE).

Graphiques, Sparklines

Non utilisable, même en passant par l'intermédiaire d'une plage nommée, même directement dans la fonction SERIE.

Tableaux croisé dynamique

Pas utilisable directement comme source de données.
Utilisable en passant par l'intermédiaire d'une plage nommée.

Intérêts :

  • Pas de valeur (vide) dans le TCD pour les lignes "en trop".
  • Nouvelles valeurs intégrées automatiquement (après Actualisation du TCD).

Mais en passant pas un tableau structuré on obtient à peu près les mêmes avantages !

Tableaux structurés

Non utilisable.

Mise en forme conditionnelle

Utilisable mais je n'ai pas d'exemple présentant un intérêt spécifique.

Validation de données

Utilisable et c'est là où je vois plus l'intérêt de cette nouveauté, dans le cas d'une validation via une liste de valeurs.

Si l'on fait une validation par liste de valeurs, pour que de nouvelles entrées dans la liste soient intégrées automatiquement sans avoir à redéfinir la liste, il existe plusieurs solutions.

  • Prendre plus de cellules => La liste déroulante va afficher ces valeurs vides !
  • Utiliser une fonction DECALER => Plus complexe et étant une fonction volatile, provoque des recalculs inutiles ( = ralentissement).

Celle que je conseille est de définir la plage en tant que tableau structuré puis de nommer la plage et utiliser ce nom comme base pour la liste (l'utilisation directe d'une référence au tableau structuré ne fonctionne pas ! ).

Avec les références Trim cela se fait directement !

Mes impressions

Avis mitigé pour l'instant. J'attends de voir des cas d'utilisations vraiment parlant (comme pour le cas de la validation de donnée en liste).

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *