Astuces · 10 techniques
Chaque astuce est démontrée en vidéo courte, et détaillée ici par écrit : la méthode, les fonctions employées, et surtout la limite que la vidéo n’a pas le temps de dire.
Le catalogue
Excel intermédiaire
Une liste de dates consécutives qui se régénère toute seule quand on change la date de départ ou la durée, sans la moindre ligne de code.
Deux cellules suffisent en entrée : la date de début et le nombre de jours. La fonction SEQUENCE se charge du reste, avec une formule de la forme SEQUENCE(nombre_de_jours ; 1 ; date_de_début ; 1). Elle renvoie une plage entière à partir d’une seule cellule — ce qu’Excel appelle un résultat « déversé ».
Le résultat sort en nombres : il ne reste qu’à appliquer un format de date à la colonne. Modifiez la date de début ou la durée, et le calendrier entier se reconstruit instantanément.
L’intérêt va plus loin que l’affichage. Cette plage déversée peut alimenter une liste déroulante : dans la validation des données, on référence la première cellule suivie du signe dièse, par exemple $B$5#. La liste suit alors automatiquement la taille du calendrier, sans plage nommée à redimensionner.
À savoir SEQUENCE et l’opérateur de plage déversée # exigent Microsoft 365 ou Excel 2021. Sur une version antérieure, il faut revenir à une plage nommée dynamique construite avec DECALER ou INDEX.
Excel débutant
Décrire en français la colonne que l’on veut obtenir, et laisser Excel proposer la formule correspondante.
Ajouter une colonne calculée suppose de savoir quelle fonction employer, et dans quel ordre les imbriquer. C’est précisément là que la plupart des utilisateurs décrochent. Le volet Copilot, intégré au ruban d’Excel, renverse la démarche : on décrit le résultat attendu en une phrase, et il propose une colonne prête à être insérée.
La formule produite reste une formule Excel ordinaire, visible et modifiable. Sur une extraction de noms et de codes, Copilot mobilise sans hésiter LET pour nommer ses étapes intermédiaires, puis GAUCHE, STXT, NBCAR, MAJUSCULE ou MINUSCULE selon le besoin. Le résultat est souvent plus lisible que ce qu’on aurait écrit dans l’urgence.
C’est un accélérateur, pas un substitut à la compréhension : c’est vous qui signez le classeur, et vous qui devrez le corriger dans six mois.
À savoir Copilot dans Excel demande un abonnement Microsoft 365 assorti d’une licence Copilot, et travaille sur des données mises en tableau structuré. Vérifiez systématiquement la formule proposée avant de la valider.
Power Query débutant
Un collègue envoie un tableau en PDF. Le recopier prend une heure et demie ; l’importer en prend trois.
Excel sait lire un PDF depuis l’onglet Données : Obtenir des données, À partir d’un fichier, À partir d’un PDF. Power Query s’ouvre et présente ce qu’il a détecté — chaque tableau repéré, page par page, dans un navigateur d’objets.
On sélectionne le ou les tableaux voulus, on corrige au passage ce qui doit l’être — en-têtes promus, colonnes vides supprimées, types rétablis — puis on charge dans la feuille. Aucune formule, aucun code.
Le vrai bénéfice arrive au PDF suivant : la requête étant enregistrée, remplacer le fichier source et actualiser suffit. Ce qui était une corvée mensuelle devient un clic.
À savoir L’import ne fonctionne que sur un PDF contenant du texte. Un PDF issu d’un scan est une image : Power Query n’y verra rien, faute de reconnaissance de caractères. La fonction est disponible sur Excel pour Windows, à partir d’Excel 2016 avec Power Query et dans Microsoft 365.
Excel débutant
Le maximum d’une colonne, mais seulement sur les lignes qui répondent à une ou plusieurs conditions.
MAX et MIN ne savent pas filtrer. Pendant des années, obtenir « le montant le plus élevé pour la région Est » supposait une formule matricielle validée par une combinaison de touches, incompréhensible pour qui reprenait le fichier.
MAX.SI.ENS et MIN.SI.ENS ont réglé la question. La syntaxe suit celle de SOMME.SI.ENS : d’abord la plage dont on cherche l’extremum, puis les couples plage de critère et critère, autant que nécessaire. MAX.SI.ENS(montants ; régions ; "Est" ; années ; 2026) se lit presque comme une phrase.
Ce sont les fonctions en SI.ENS qui transforment un tableau en outil d’analyse : la même logique s’applique à SOMME.SI.ENS, NB.SI.ENS et MOYENNE.SI.ENS.
À savoir Quand aucune ligne ne satisfait les critères, MAX.SI.ENS renvoie 0 et non une erreur. Sur des montants pouvant être négatifs, ce zéro se confond avec un vrai résultat : encadrez la formule d’un test sur NB.SI.ENS pour distinguer les deux cas. Ces fonctions demandent Excel 2019 ou Microsoft 365.
Excel débutant
Combien de commandes de plus de 1 000 € passées en juin par la région Nord ? Une seule fonction répond, quel que soit le nombre de conditions.
NB.SI.ENS accepte autant de couples plage/critère que nécessaire, et les combine par un ET logique : une ligne n’est comptée que si elle satisfait toutes les conditions. Avec un seul couple, elle remplace avantageusement NB.SI, dont il devient inutile de se souvenir.
Les critères ne se limitent pas à l’égalité. On écrit ">1000" pour une comparaison, "<>" pour exclure les vides, ou "Dupont*" pour tout ce qui commence par Dupont — l’astérisque remplace une suite de caractères, le point d’interrogation un caractère unique.
C’est cette fonction, et non le filtre manuel, qui permet de construire un tableau de synthèse qui se met à jour tout seul.
À savoir Deux pièges classiques. Toutes les plages de critères doivent avoir exactement la même hauteur que la première, sinon Excel renvoie #VALEUR!. Et pour comparer à la valeur d’une cellule, l’opérateur doit être concaténé : ">"&B2, et non ">B2" qui serait pris pour du texte.
Excel intermédiaire
Extraire les trois plus fortes valeurs et les libellés qui vont avec, directement depuis le tableau source, sans le toucher.
Trouver le maximum est immédiat. Trouver la deuxième ou la troisième plus grande valeur l’est beaucoup moins — et trier le tableau pour y parvenir revient à sacrifier son ordre d’origine.
GRANDE.VALEUR règle le problème : elle prend une plage et un rang, et renvoie la valeur de ce rang. GRANDE.VALEUR(plage ; 1) donne le maximum, GRANDE.VALEUR(plage ; 2) la suivante, et ainsi de suite. En plaçant les rangs 1, 2 et 3 dans une colonne, on obtient un classement qui se recalcule à chaque modification du tableau.
Reste à retrouver le nom associé à chaque valeur : c’est le rôle de RECHERCHEX, qui cherche la valeur classée dans la colonne des montants et renvoie le libellé correspondant. Deux fonctions, et le podium se met à jour tout seul.
À savoir Attention aux ex æquo : si deux lignes portent la même valeur, RECHERCHEX renverra deux fois le même libellé, celui de la première occurrence rencontrée. Sur des données susceptibles de comporter des doublons, il faut départager les rangs, par exemple en ajoutant une fraction dérivée du numéro de ligne.
VBA intermédiaire
Protéger la structure d’un tableau partagé, sans mot de passe à conserver ni à transmettre.
La protection de feuille pose un dilemme connu. Sans mot de passe, elle se lève en deux clics et ne protège rien. Avec mot de passe, elle finit par bloquer la seule personne qui en avait besoin, le jour où le mot de passe est perdu — et la direction refuse souvent le principe même.
Une autre voie consiste à surveiller le classeur par le code, en deux temps. À chaque changement de sélection, on mémorise le nombre de colonnes occupées. À chaque modification, on le compare à celui d’avant : s’il a changé, une colonne a été ajoutée ou supprimée, et l’opération est annulée.
L’annulation passe par Application.Undo, exactement comme un Ctrl+Z. Le détail qui compte est l’encadrement par EnableEvents : sans lui, l’annulation serait elle-même vue comme une modification et relancerait l’événement en boucle.
L’utilisateur voit sa suppression se défaire d’elle-même, avec un message qui explique pourquoi. Aucun mot de passe n’est en jeu, et la feuille reste modifiable partout ailleurs.
À savoir Le code suppose un classeur .xlsm et des macros autorisées : c’est un garde-fou contre les fausses manœuvres, pas une barrière de sécurité. Application.Undo n’annule que la dernière action et vide au passage la pile d’annulation d’Excel.
Private Nb_col_initial As Long
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' 1) Pour enregistrer le nombre de colonnes
Nb_col_initial = Sh.UsedRange.Columns.Count
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' 2) Pour détecter des ajouts/suppressions de colonnes
Dim Nb_col_actuel As Long
'Récupérer le nombre de colonnes actuel après un changement
Nb_col_actuel = Sh.UsedRange.Columns.Count
'Comparer le nombre de colonnes avant et après le changement
If Nb_col_actuel <> Nb_col_initial Then
'Si une colonne a été ajoutée ou supprimée => annuler l'action
Application.EnableEvents = False
Application.Undo 'Ctrl + Z
MsgBox "L'ajout ou la suppression de colonnes est interdit dans cette zone.", _
vbExclamation, "Ajout/suppression de colonne interdit !"
Application.EnableEvents = True
End If
End Sub
VBA intermédiaire
Même principe que pour les colonnes, appliqué cette fois aux cellules qui contiennent une formule.
Dans un fichier partagé, les formules ne survivent jamais très longtemps : une saisie directe par-dessus, et le calcul est remplacé par une valeur figée. Le plus gênant est que rien ne le signale — le classeur continue d’afficher un nombre plausible.
La parade repose sur la même mécanique en deux temps, et sur une subtilité de calendrier. Une fois la saisie faite, il est trop tard pour savoir ce que la cellule contenait : la formule a déjà disparu. Le test doit donc avoir lieu *avant*, au moment où l’utilisateur sélectionne la cellule.
C’est le rôle du premier événement : il parcourt la sélection et mémorise, dans un booléen, la présence d’au moins une formule — c’est ce que teste la propriété HasFormula. Le second événement se contente alors de lire ce booléen et d’annuler la saisie si nécessaire.
Les zones de saisie restent libres, les zones calculées deviennent intouchables, et personne n’a de mot de passe à gérer.
À savoir Comme pour l’astuce précédente : classeur au format .xlsm et macros autorisées. La protection agit à la saisie, elle ne chiffre ni ne verrouille quoi que ce soit — c’est un garde-fou, pas un coffre-fort.
Public booFormule_dans_cell As Boolean
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' 1) Pour détecter une plage de cellules contenant une FORMULE
Dim n As Long
For n = 1 To Target.Cells.Count
If Target.Cells(n).HasFormula Then
booFormule_dans_cell = True
Exit For
Else
booFormule_dans_cell = False
End If
Next n
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' 2) Pour annuler l'édition d'une cellule contenant une FORMULE
' (formule détectée dans la SelectionChange ci-dessus)
If booFormule_dans_cell = True Then
Application.EnableEvents = False
Application.Undo 'Ctrl + Z sur la dernière action
Application.EnableEvents = True
MsgBox "Cette zone contient une formule et ne doit pas être éditée.", _
vbExclamation, "Ne pas modifier"
End If
End Sub
VBA intermédiaire
Un TCD ne se met pas à jour tout seul. Il suffit d’oublier un clic pour présenter des chiffres périmés.
C’est l’erreur la plus fréquente et la plus coûteuse sur un tableau de bord Excel : la source a été complétée, le tableau croisé affiche encore les valeurs de la semaine dernière, et personne ne s’en aperçoit avant la réunion.
Un événement de feuille règle la question, et le choix de l’événement compte autant que le code. Placé sur la feuille qui *porte* le tableau croisé, l’événement de changement de sélection se déclenche dès qu’on vient regarder le tableau — c’est-à-dire exactement au moment où il doit être à jour, et pas à chaque frappe dans la table source.
La méthode employée mérite elle aussi l’attention. PivotCache.Refresh relit les données de la source, ce qui est indispensable pour voir apparaître les lignes ajoutées. RefreshTable, souvent proposée à sa place, se contente de redessiner le tableau à partir du cache existant : les nouvelles lignes n’apparaîtraient pas.
Pour tout actualiser d’un coup — tableaux croisés, requêtes Power Query et connexions externes —, ThisWorkbook.RefreshAll fait le travail en une ligne, au prix d’un rafraîchissement complet.
À savoir Le nom du tableau croisé est écrit en dur dans le code : le renommer dans Excel casse la macro, sans message d’erreur explicite. Et comme les deux astuces précédentes, cela suppose un classeur .xlsm avec les macros autorisées.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Pour actualiser un TCD en particulier
PivotTables("TCD des Primes").PivotCache.Refresh
End Sub
Power Query débutant
Même principe que pour le PDF, mais à partir d’une capture d’écran ou d’une photo — Excel lit l’image et en extrait un vrai tableau.
La commande se trouve dans l’onglet Données, juste à côté des outils d’import : À partir d’une image, au choix depuis un fichier ou depuis le presse-papiers. Excel analyse l’image, reconnaît la grille et propose les données extraites.
Un volet de vérification s’ouvre alors et signale les cellules dont il n’est pas certain. On corrige à la volée, on insère, et le tableau atterrit dans la feuille. Une photo de tableau prise en réunion devient exploitable en une minute.
À savoir La qualité du résultat dépend entièrement de celle de l’image : cadrage droit, contraste net, pas de reflet. Relisez systématiquement les colonnes de chiffres — une virgule mal lue passe inaperçue et fausse tout le reste.
Précisions
Elles sont publiées sur LinkedIn. Le lecteur ne se charge que si vous cliquez : tant que vous ne l’avez pas fait, aucune requête n’est envoyée à LinkedIn et rien n’est déposé sur votre appareil.
Chaque astuce indique sa limite : version d’Excel requise, cas où la méthode échoue, piège à éviter. C’est ce qui manque le plus souvent aux astuces trouvées en ligne, et ce qui fait perdre le plus de temps.
Une astuce résout un point précis. Construire un fichier qui tient dans la durée relève d’autre chose : chaque astuce renvoie vers la formation qui traite son domaine.
Prendre contact
Le contexte suffit pour démarrer : nombre de personnes concernées, outils en place, échéance. Je réponds avec une proposition de programme et un devis.