Fonction Excel : SUPPR.PLAGE
La fonction SUPPR.PLAGE supprime les lignes ou colonnes vides autour d'une plage de données.
Plus pratique encore, nous verrons un peu plus bas que cette fonction peut être simplement remplacée par un ou deux . lorsque vous entrez la référence d'une plage de cellules.
Utilisation :
=SUPPR.PLAGE(plage)
ou
=SUPPR.PLAGE(plage; mode_pour_lignes; mode_pour_colonnes)
Exemple d'utilisation
Une plage d'exemple a été définie, l'objectif sera ici de retirer les lignes et colonnes vides :

Les arguments de la fonction SUPPR.PLAGE sont les suivants :
- Plage : la plage à traiter (ici, la plage colorée)
- Row_trim_mode : pour définir les lignes à supprimer
- 0 : ne supprime aucune ligne
- 1 : supprime les lignes vides au début
- 2 : supprime les lignes vides à la fin
- 3 : supprime les lignes vides au début et à la fin (par défaut)
- Col_trim_mode : pour définir les colonnes à supprimer
- 0 : ne supprime aucune colonne
- 1 : supprime les colonnes vides au début
- 2 : supprime les colonnes vides à la fin
- 3 : supprime les colonnes vides au début et à la fin (par défaut)
Dans ce cas, nous allons utiliser le comportement par défaut (c'est à dire supprimer les lignes et colonnes vides au début et à la fin), il n'est donc pas nécessaire de préciser les arguments facultatifs :
=SUPPR.PLAGE(A1:D17)

Les lignes et colonnes vides ont bien été retirées.
Cette fonction a néanmoins un comportement peu pratique lorsque la plage contient des cellules vides, car elle y affiche des 0.
Retrait des 0
Pour supprimer ces 0 gênants, il existe plusieurs solutions. A vous de choisir celle qui est la plus appropriée en fonction de votre utilisation si vous devez retirer ces 0.
Mise en forme conditionnelle
Les 0 sont masqués ici à l'aide d'une MFC (en les colorant en blanc) :
Fonction EPURAGE
Les 0 sont retirés ici à l'aide de la fonction EPURAGE (qui en plus ne retire pas les 0 présents à l'origine) :
=EPURAGE(SUPPR.PLAGE(A1:D17))

Autres formules
D'autres solutions permettent de retirer les 0 sans modifier les données, en voici 2 exemples :
=LET(a;SUPPR.PLAGE(A1:D17);SI(ESTVIDE(a);"";a))=MAP(SUPPR.PLAGE(A1:D17);LAMBDA(c;SI(ESTVIDE(c);"";c)))
Ces formules permettent d'obtenir :

Utilisation des points
La fonction SUPPR.PLAGE peut être remplacée par l'ajout d'un ou deux . dans la référence :
| =A1.:D17 | Retrait des lignes et colonnes vides au début |
| =A1:.D17 | Retrait des lignes et colonnes vides à la fin |
| =A1.:.D17 | Retrait des lignes et colonnes vides au début et à la fin |
Par exemple :

Liste déroulante
Si la colonne A contient un nombre variable de données pour une liste déroulante, il est alors possible d'obtenir la plage de données à l'aide de cette simple formule :
=A:.A

Créez ensuite votre liste déroulante en entrant cette même formule en tant que source :

Pour obtenir :

