Alternatives aux filtres

Si vous utilisez des tables, vous connaissez déjà certainement les filtres "classiques".

Mais saviez vous que :

Clic droit

Vous pouvez filtrer avec un clic droit sur une cellule de la table, puis choisir Filtrer et choisir Filtrer par la valeur de la cellule sélectionnée :

Bouton de filtre automatique

2/ Vous pouvez faire la même chose, mais en un clic, après avoir ajouté le bouton de filtre automatique dans la barre d'accès rapide :

Puis, vous cliquez sur la cellule et vous filtrez automatiquement.

Note : ce bouton est différent du bouton "Ajouter ou supprimer des filtres", qui a le même icône.

Aussi, ce bouton ne fonctionne pas si la plage a été formatté comme tableau.

Les segments

3/ N'oubliez pas le pouvoir des segments associés à une table.

a/ Formattez comme tableau :

b/ Ajoutez un segment

Et voilà !

Une solution enVBA pour un tableau

Evidemment, comme la 2e solution ne fonctionne pas pour un tableau et que la première solution requiert 3 clics, le paresseux en moi a décidé d'ajouter un bouton pour quand même faire ca en un clic.

Le code est assez court, mais pas vraiment trivial. Je l'expliquerai en détail plus tard si vous êtes intéressés (n'hésitez pas à laisser un commentaire).

Cliquez ici pour télécharger le fichier.

Et le code pour ces deux boutons :

 
Option Explicit
Sub subFiltreTableauActiveCell()
If ActiveCell.ListObject Is Nothing Then Exit Sub
ActiveSheet.ListObjects(ActiveCell.ListObject.Name).Range.AutoFilter _
Field:=ActiveCell.Column - ActiveCell.ListObject.DataBodyRange.Column + 1, _
Criteria1:=ActiveCell.Value
End Sub
Sub subAfficheToutesLesDonnees()
If ActiveCell.ListObject Is Nothing Then Exit Sub
ActiveSheet.ListObjects(ActiveCell.ListObject.Name).AutoFilter.ShowAllData
End Sub


Amusez-vous bien !

PS : Bien que ces fonctionalités soient connues depuis excel 2003, voici une partie de la source d'inspiration : https://www.mrexcel.com/excel-tips/excel-2019-filter-by-selection/

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

A quoi sert PowerQuery : 5 mns pour comprendre l’extraordinaire potentiel en gains de productivité

PowerQuery est un outil fantastique.

Voici une courte démonstration pour avoir une idée de ce que vous pouvez faire avec cet outil.

Evidemment, PowerQuery est beaucoup plus puissant que ces 5 minutes de démonstration et vous pouvez vous procurer une formation complète ici : http://www.xlerateur.com/formation-aux-tableaux-croises-dynamiques/

Et le même contenu mais en mode "formation" (beaucoup moins vite). Merci Ali pour le commentaire 🙂

A bientôt

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

Formation Tableaux Croisés Dynamique et PowerQuery

Une formation incontournable.

  • Tout ce qu'il faut savoir sur les tableaux croisés dynamiques en près de 4h de vidéos.
  • Plus d'une heure de formation sur PowerQuery, et 20 points-clefs à connaitre impérativement.

N'attendez pas : http://www.xlerateur.com/formation-aux-tableaux-croises-dynamiques

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

Mini utilitaire de saisie en VBA

Bonjour à tous,

Pour construire un prototype de saisie destiné à un usage limité, voici une petite procédure qui peut rendre de grands services. Cet exemple ne permet que la saisie, mais pas la modification ou la suppression de données.

Cet exemple sert à démontrer l'utilisation de certaines fonctionnalités du VBA en interaction avec Excel.

On notera :

  • Utilisation d'une variable pour identifier la nouvelle ligne à saisir.
  • Utilisation de noms de plages définis dans Excel pour rendre l'application robuste. Par exemple, l'ajout, la suppression, la modification ou le déplacement de lignes ou de colonnes est possible dans une large mesure. A l'inverse, si vous aviez utilisé des références statiques du style Range("D2"), celles-ci ne sont pas du tout robustes en VBA-Excel.

Voici une petite vidéo qui démontre la construction du fichier :

On peut aller une étape plus loin en créant une boucle qui va parcourir toutes les colonnes. Dans le fichier joint (mais pas dans la vidéo), j'ai aussi géré le fait de mettre la table de données dans une autre feuille :

De plus, en transformant la plage en tableau, l'ajout des lignes étend automatiquement le tableau vers le bas.

Pour ajouter un nouveau champ, il faut simplement définir deux noms et modifier le code VBA en ajoutant le nom du champ dans l'array:

  • Saisie_NomNouveauChamp
  • Col_ NomNouveauChamp
  • arrColonnes = Array("Nom", "Prenom", "Ville", "CodePostal", " NomNouveauChamp")

Bonne continuation.

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

Tableaux croisés dynamiques, ignorer ou pas les guillemets, les zéros et les cellules vides

Bonjour,

Voici un exemple permettant de clarifier deux fonctions des TCD (Nombre et Chiffres) et une astuce supplémentaire.
Vous pouvez télécharger le fichier ici : TCD - fonctions Nombre et Chiffres
Lorsque vous ajoutez un élement dans la zone de calcul du TCD, vous pouvez ensuite spécifier la formule utilisée :

En synthèse, on a donc :
- Pour compter toutes les lignes, vous pouvez utiliser une colonne clef avec un identifiant unique par ligne et utiliser Nombre, ou alors une colonne Nb avec uniquement la formule "=1" (A2:A9) et faire ensuite une somme sur cette colonne. L'utilisation de la formule dans un tableau permet d'avoir la formule sur l'ensemble du tableau y compris lors de la création d'une nouvelle ligne.
- Une cellule contenant un nombre (ici B2 et B3). Elle sera prise en compte par la formule Nombre et par la formule Chiffres.
- Du texte, mais pas de nombre (ici, B4, B5 et B9). Elle sera prise en compte par la formule Nombre, mais pas par Chiffres.
- Une formule retournant deux guillemets "" (ici, C4 et C5). Elle sera prise en compte par la fonction Nombre, mais pas par la fonction Chiffres.
- Une cellule avec une formule faisant référence à une cellule vide, et donc, retournant 0 (ici, C6:C8). Elle sera prise en compte par Nombre et par Chiffres.
- Une cellule vide, sans nombre, sans formule (B6:B8, C9). Elle ne sera pas prise en compte par Nombre, ni par Chiffres

Voici le résultat, avec à gauche les données et à droite le TCD résultant.

Pour en savoir plus sur les tableaux croisés dynamiques et powerquery, n'hésitez-pas à investir dans cette formation :
http://www.xlerateur.com/formation-aux-tableaux-croises-dynamiques/
Cordialement.

Gaetan Mourmant

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel