Comment activer les macros dans Excel (Toutes les méthodes, étape par étape)
Écrit par l'équipe de Iron Software. Si vous cherchez à automatiser vos tâches de tableur par programmation, assurez-vous de visiter la page produit IronXL pour en savoir plus sur notre bibliothèque Excel professionnelle pour .NET.
Dans le monde de la saisie de données, les " données propres " sont le saint graal. Que vous construisiez un suivi budgétaire, un tableau de bord de gestion de projet ou une simple liste d'inventaire, permettre aux utilisateurs de taper librement est une recette pour le désastre. Une faute de frappe (comme " Pommes " contre " Pomme ") peut casser vos formules, ruiner vos tableaux croisés dynamiques et transformer un rapport de cinq minutes en un projet de nettoyage de deux heures.
La solution est simple : les listes déroulantes. En limitant une cellule à un ensemble d'options spécifiques, vous assurez la cohérence, accélérez la saisie des données et rendez vos tableurs professionnels.
La méthode la plus rapide : Le menu déroulant en 30 secondes
Si vous êtes pressé, voici la méthode la plus rapide pour créer une liste à l'aide du ruban d'Excel :
- Sélectionnez la cellule (ou les cellules) où vous voulez la liste.
-
Appuyez sur Alt → A → V → V sur votre clavier (ou allez à l'onglet Données et sélectionnez Validation des données).
- Dans la boîte " Autoriser ", sélectionnez Liste.
- Dans la boîte " Source ", tapez vos options séparées par des virgules (par exemple, Oui,Non,Peut-être).
- Cliquez sur OK.
Méthode 1 : Créer une liste à partir d'une plage de cellules (la méthode standard)
Bien que taper des valeurs directement dans la boîte de dialogue soit rapide, ce n'est pas très flexible. Si vous avez une longue liste ou une liste qui change fréquemment, il vaut mieux lister vos éléments dans des cellules ailleurs dans votre classeur.
Instructions étape par étape
- Préparez votre liste : Tapez les éléments que vous voulez dans votre liste déroulante dans une seule colonne ou ligne. Beaucoup de professionnels préfèrent mettre cela dans une feuille séparée nommée " Paramètres " ou " Listes " pour garder les données principales propres.

- Sélectionnez vos cellules cibles : Cliquez et faites glisser pour surligner les cellules qui contiendront les menus déroulants.

- Ouvrez la Validation des données : Allez à l'onglet Données et cliquez sur l'icône Validation des données dans le groupe Outils de données.
![]()
- Réglez sur Liste : Dans l'onglet Paramètres du menu de validation des données, changez le menu déroulant Autoriser en Liste.

- Sélectionnez la Source : Cliquez à l'intérieur de la boîte Source, puis utilisez votre souris pour surligner la plage de cellules contenant vos éléments de liste.

- Finalisez : Assurez-vous que la case " Menu déroulant dans la cellule " est cochée et cliquez sur OK.
Résultat : Première cellule avec options de liste déroulante

Astuce pro : Si votre liste se trouve sur une autre feuille, Microsoft Excel vous permet de naviguer vers cette feuille pendant que la boîte de dialogue de Validation des données est ouverte pour sélectionner votre plage.
Méthode 2 : La liste " Dynamique " (Utilisation des tables Excel)
Le plus gros problème avec la méthode 1 est que si vous ajoutez un nouvel élément à votre liste source, la liste déroulante ne le verra pas à moins que vous ne mettiez à jour manuellement la plage de cellules. Pour résoudre cela, nous utilisons les Tables Excel.
Pourquoi utiliser une Table ?
Lorsque vous définissez une plage comme une " Table ", elle devient dynamique. Si vous ajoutez " Orange " en bas d'une table, la table se développe automatiquement. Par conséquent, toute liste déroulante Excel associée à cette table se développe également.
Comment la configurer
- Sélectionnez vos éléments de liste.
-
Appuyez sur Ctrl + T et cliquez sur OK pour les transformer en tableau.
- (Facultatif mais recommandé) Cliquez sur le tableau, allez à l'onglet Création de Table et donnez à votre tableau un nom dans la boîte " Nom de Table " (par exemple, ListeProduits).

- Sélectionnez vos cellules cibles de saisie des données.
-
Allez à Données > Validation des données > Liste.
- Dans la boîte Source, entrez la formule : =INDIRECT("ListeProduits"). Note : Si vous n'avez pas nommé la table, vous pouvez simplement sélectionner les cellules à l'intérieur de la table, et Excel gérera la référence.

7. Cliquez sur OK. Maintenant, chaque fois que vous tapez un nouvel élément au bas de votre tableau, il apparaîtra instantanément dans tous vos menus déroulants.

Méthode 3 : Listes déroulantes dépendantes (L'approche " Conditionnelle ")
Parfois, vous avez besoin d'une liste en " cascade ". Par exemple, si vous sélectionnez " Fruits " dans la colonne A, vous voulez que la colonne B affiche " Pomme, Banane, Cerise ". Si vous sélectionnez " Légumes " dans la colonne A, vous voulez que la colonne B affiche " Carotte, Brocoli, Épinards ".
C'est la fonctionnalité " avancée " la plus demandée dans Excel, et elle repose sur la fonction INDIRECTE.
Mise en œuvre étape par étape
-
Créez vos Listes : Créez une liste principale (Catégories) puis des listes séparées pour chaque sous-catégorie.
-
Nommez les Plages : C'est l'étape critique.
- Surlignez vos éléments de fruits et nommez la plage " Fruits " en utilisant la Boîte de Nom (la petite boîte à gauche de la barre de formule).
-

* Surlignez vos éléments de légumes et nommez cette plage " Légumes ".

* _Note : Le nom doit correspondre exactement au choix dans votre première liste déroulante._
- Créez la Première Liste déroulante : Utilisez la méthode 1 pour créer une liste de vos catégories principales (Fruits, Légumes) dans la cellule A2.

-
Créez la Liste déroulante Dépendante : * Sélectionnez la cellule B2.
- Allez à Validation des données > Liste.
- Dans la boîte Source, tapez : =INDIRECT(A2).
- Testez-la : Lorsque vous changez A2 pour " Fruits ", la liste dans B2 changera pour montrer vos éléments de fruits.

Méthode 4 : La méthode du développeur (Boîtes combinées)
Si vous voulez une liste déroulante qui ressemble plus à un menu classique de logiciel ou permet une saisie de texte recherchable, vous pouvez utiliser une Boîte Combobox (Contrôle de Formulaire).
-
Activez l'onglet Développeur (Cliquez droit sur un onglet du ruban > Personnaliser le Ruban > Cochez " Développeur ").
-
Allez à Développeur > Insérer et sélectionnez la Boîte Combobox sous Contrôles de formulaire.
- Dessinez la boîte sur votre feuille.
- Cliquez droit sur la boîte et sélectionnez Contrôle de Format.
- Définissez la Plage de saisie (votre liste) et le Lien de cellule (où l'indice de résultat sera affiché).
Problèmes courants et dépannage
Même les utilisateurs d'Excel les plus expérimentés rencontrent des " drames de liste déroulante ". Voici comment résoudre les maux de tête les plus courants :
1. La flèche de la liste déroulante disparaît
Si vous cliquez sur une cellule et que la petite flèche grise n'apparaît pas :
- La solution : Allez à Validation des données et assurez-vous que la case Menu déroulant dans la cellule est cochée. Vérifiez également les options d'Excel : Fichier > Options > Avancé > Options d'affichage pour ce classeur. Assurez-vous que "Pour les objets, afficher:" est réglé sur Tous.
2. Message d'erreur " La valeur que vous avez entrée n'est pas valide "
Cette erreur se produit lorsque vous essayez de taper quelque chose qui n'est pas dans la liste.
- La solution : Si vous voulez autoriser les utilisateurs à taper parfois leurs propres entrées, allez à l'onglet Message d'Erreur dans la boîte de dialogue de Validation des données et décochez " Afficher un message d'erreur après l'entrée de données non valides ".
3. Validation des données est grisée
- La solution : Cela se produit généralement si votre feuille de calcul est protégée ou si vous êtes en train d'éditer une cellule (le curseur clignote à l'intérieur de la cellule). Appuyez sur Entrée pour arrêter l'édition ou déprotégez la feuille via l'onglet Révision.
4. Espaces dans les Listes Dépendantes
La fonction INDIRECTE n'aime pas les espaces. Si votre catégorie est " Produits Fruités ", une plage nommée ne peut pas être " Produits Fruités " (cela devrait être Produits_Fruités).
- La solution : Utilisez =INDIRECT(SUBSTITUTE(A2, " ", "_")) dans votre source de Validation des données pour gérer automatiquement les espaces.
Comparaison des méthodes
| Méthode| Meilleur pour|Difficulté|Dynamique ? | | ---| ---| ---| ---| |Saisie manuelle|Choix ponctuels, simples Oui/Non. |Débutant| Non | |Sélection de Plage|Tâches bureautiques standards. |Débutant| Non | |Méthode du Table|Journaux professionnels et bases de données croissantes. |Intermédiaire| Oui | |Liste Dépendante|Formulaires complexes et catégorisations. | Niveau avancé| Oui | |Boîte Combinée|Conception de tableaux de bord et d'interface utilisateur. | Niveau avancé| Non |
Pour les développeurs : Automatisation des listes déroulantes avec IronXL
La configuration manuelle est excellente pour un tableur, mais que faire si vous générez 500 rapports personnalisés pour des clients chaque mois ? Vous ne pouvez pas cliquer manuellement sur " Validation des données " 500 fois.
Avec IronXL, vous pouvez injecter par programmation la validation des données dans des fichiers Excel en utilisant C# ou VB.NET. Cela garantit que chaque fichier que vous générez est pré-chargé avec les bonnes contraintes.
Pourquoi utiliser IronXL pour la validation des données ?
- Échelle : Appliquez des règles de validation de formatage conditionnel complexes à des milliers de cellules en millisecondes.
- Sécurité : Empêchez les utilisateurs de corrompre vos rapports générés en verrouillant les options de saisie.
- Zéro dépendance : Vous n'avez pas besoin de Microsoft Office ou Excel Interop installé sur votre serveur.
Code Snippet: Creating a Drop-Down List in C
L'exemple suivant montre comment créer une liste d'options " Département " et l'appliquer à une plage de cellules à l'aide de IronXL.
using IronXL;
using System;
// Create workbook + sheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("EmployeeData");
// Add headers
sheet["A1"].Value = "Employee Name";
sheet["B1"].Value = "Department";
// Define dropdown values
string[] departments = { "HR", "Sales", "IT", "Finance", "Marketing" };
// Implement data validation feature
var validation = sheet.DataValidations.AddStringListRule(
"B2:B10", // range
departments // values
);
// Optional UI settings
validation.PromptBoxTitle = "Select Department";
validation.PromptBoxText = "Please choose a department from the list.";
validation.ShowDropDownList = true;
validation.ErrorBoxTitle = "Invalid Entry";
validation.ErrorBoxText = "Please select a value from the list.";
validation.ShowErrorBox = true;
// Save
workbook.SaveAs("Company_Directory.xlsx");
using IronXL;
using System;
// Create workbook + sheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("EmployeeData");
// Add headers
sheet["A1"].Value = "Employee Name";
sheet["B1"].Value = "Department";
// Define dropdown values
string[] departments = { "HR", "Sales", "IT", "Finance", "Marketing" };
// Implement data validation feature
var validation = sheet.DataValidations.AddStringListRule(
"B2:B10", // range
departments // values
);
// Optional UI settings
validation.PromptBoxTitle = "Select Department";
validation.PromptBoxText = "Please choose a department from the list.";
validation.ShowDropDownList = true;
validation.ErrorBoxTitle = "Invalid Entry";
validation.ErrorBoxText = "Please select a value from the list.";
validation.ShowErrorBox = true;
// Save
workbook.SaveAs("Company_Directory.xlsx");
Imports IronXL
Imports System
' Create workbook + sheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("EmployeeData")
' Add headers
sheet("A1").Value = "Employee Name"
sheet("B1").Value = "Department"
' Define dropdown values
Dim departments As String() = {"HR", "Sales", "IT", "Finance", "Marketing"}
' Implement data validation feature
Dim validation = sheet.DataValidations.AddStringListRule("B2:B10", departments)
' Optional UI settings
validation.PromptBoxTitle = "Select Department"
validation.PromptBoxText = "Please choose a department from the list."
validation.ShowDropDownList = True
validation.ErrorBoxTitle = "Invalid Entry"
validation.ErrorBoxText = "Please select a value from the list."
validation.ShowErrorBox = True
' Save
workbook.SaveAs("Company_Directory.xlsx")
Sortie

Que se passe-t-il dans le code ?
- Nous définissons une plage (B2:B10) où nous voulons que les listes déroulantes apparaissent.
- Nous réglons le type de validation sur Liste.
- Nous joignons nos noms de département en une chaîne séparée par des virgules, qu'IronXL injecte dans les métadonnées internes du fichier Excel.
Résumé et Bonnes Pratiques
Créer une liste déroulante est le moyen le plus efficace de passer d'un tableur " désordonné " à une " base de données fiable ". Pour en tirer le meilleur parti, rappelez-vous ces trois règles :
-
Gardez les listes sources organisées : Conservez toujours vos données sources sur une feuille séparée et cachée pour éviter les suppressions accidentelles.
-
Utilisez des tables chaque fois que possible : Évitez-vous le casse-tête de la maintenance en rendant vos listes sources dynamiques.
- Ne survalidez pas : Si un champ est facultatif ou nécessite des entrées uniques (comme des " Commentaires "), n'imposez pas de liste déroulante.
Prêt à passer au niveau supérieur de l'automatisation des tableurs ? Que vous soyez analyste d'affaires ou développeur créant la prochaine grande application fintech, avoir les bons outils est essentiel. Téléchargez un essai gratuit de IronXL dès aujourd'hui et voyez à quel point il est facile de maîtriser la logique Excel à travers le code.




