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 :
- 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 !
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
La somme classique
= B2 + C2
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 )
La solution TRIMRANGE
= TRIMRANGE(B2:B8) + TRIMRANGE(C2:C8)
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.