Comment gérer les plages nommées dans Excel en C#

Comment ajouter une plage nommée en C#35 ; avec IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

Une plage nommée est une plage de cellules spécifiée, identifiée par un nom unique. Au lieu de faire référence à une plage par ses adresses de cellules (comme A1:B10), vous pouvez attribuer un nom à une plage, ce qui facilite sa référence et sa compréhension dans les formules et les fonctions. Par exemple, si vous nommez une plage " SalesData ", vous pouvez y faire référence dans une formule comme SUM(SalesData) au lieu de spécifier directement la plage de cellules.

Les plages nommées sont particulièrement utiles lorsque vous travaillez avec des formules Excel en C#, car elles rendent votre code plus lisible et plus facile à maintenir. Lorsqu'elles sont associées aux puissantes capacités de sélection de plages d'IronXL, les plages nommées deviennent un outil essentiel pour une gestion efficace des feuilles de calcul.

Démarrage rapide : Ajouter une plage nommée avec IronXL en une seule ligne

Définissez une plage nommée à l'aide d'IronXL en un seul appel de méthode. Sélectionnez votre plage et appliquez la méthode SaveAsNamedRange.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    new IronXL.WorkBook()
        .DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment ajouter une plage nommée à ma feuille de calcul?

Pour ajouter une plage nommée, utilisez la méthode AddNamedRange en passant le nom de la plage nommée sous forme de texte et l'objet plage. Cette méthode fait partie des fonctions complètes d'IronXL de gestion des feuilles de travail.

:path=/static-assets/excel/content-code-examples/how-to/named-range-add-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Select range
var selectedRange = workSheet["A1:A5"];

// Add named range
workSheet.AddNamedRange("range1", selectedRange);

workBook.SaveAs("addNamedRange.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Select range
Private selectedRange = workSheet("A1:A5")

' Add named range
workSheet.AddNamedRange("range1", selectedRange)

workBook.SaveAs("addNamedRange.xlsx")
$vbLabelText   $csharpLabel

Lors de la création de plages nommées, il est important de respecter les conventions d'appellation d'Excel :

  • Les noms doivent commencer par une lettre ou un trait de soulignement
  • Les noms ne peuvent pas contenir d'espaces (utilisez plutôt des traits de soulignement)
  • Les noms ne doivent pas entrer en conflit avec les références de cellules (comme "A1" ou "R1C1")
  • Les noms ne sont pas sensibles à la casse, mais le maintien d'une casse cohérente améliore la lisibilité
Boîte de nom Excel montrant 'range1' avec les cellules A1:A5 sélectionnées et mises en évidence, flèche rouge pointant vers la grille

Des plages nommées peuvent également être créées pour des sélections non contiguës ou des lignes/colonnes entières. Pour des opérations de plage plus complexes, consultez le guide sur la combinaison de plusieurs plages Excel.


Comment récupérer des plages nommées dans mon classeur?

Quelle méthode permet d'obtenir toutes les plages nommées en une seule fois ? La méthode `GetNamedRanges` renvoie toutes les plages nommées de la feuille de calcul sous la forme d'une liste de chaînes de caractères. Cette traduction est particulièrement utile lorsque vous devez auditer ou documenter toutes les plages nommées dans un classeur, de la même manière que vous pourriez [charger des feuilles de calcul existantes](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/) pour analyser leur structure. ```csharp :path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-all-named-range.cs ``` ### Comment trouver une plage spécifique par son nom? Utilisez la méthode `FindNamedRange` pour récupérer la référence absolue de la plage nommée, telle que `Sheet1!$A$1:$A$5` . La formule d'adresse peut ensuite être utilisée pour faire référence à la plage nommée ou pour sélectionner la plage correspondante à la plage nommée. Lors de la sélection de la plage, il convient de prêter attention au nom de la feuille de calcul. ```csharp :path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-specific-named-range.cs ``` ### Travailler avec des plages nommées sur plusieurs feuilles de calcul Les plages nommées peuvent avoir une portée au niveau du classeur ou de la feuille de calcul. Les noms au niveau du classeur sont accessibles à partir de n'importe quelle feuille de travail, tandis que les noms au niveau de la feuille de travail ne sont accessibles qu'à l'intérieur de leur feuille de travail spécifique. Cette distinction est importante lorsque vous gérez plusieurs feuilles de calcul dans vos fichiers Excel. ```csharp // Example: Accessing named ranges from different worksheets WorkBook workBook = WorkBook.Load("multisheet.xlsx"); WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1"); WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2"); // Both can access a workbook-level named range var range1 = sheet1["GlobalData"]; var range2 = sheet2["GlobalData"]; // Same named range ```
## Comment supprimer une plage nommée de ma feuille de calcul? Pour supprimer la plage nommée, utilisez la méthode `RemoveNamedRange` en passant le nom de la plage nommée sous forme de texte. Cela est essentiel pour maintenir des classeurs propres et organisés et pour éviter les conflits de noms lors de la mise à jour des structures des feuilles de calcul. ```csharp :path=/static-assets/excel/content-code-examples/how-to/named-range-remove-named-range.cs ``` ## Scénarios avancés de plages nommées ### Utilisation de plages nommées avec des formules Les plages nommées brillent véritablement lorsqu'elles sont utilisées avec des formules Excel. Ils rendent les formules plus lisibles et plus faciles à maintenir. Pour une gestion complète des formules, consultez le guide sur les [formules Excel en C#](https://ironsoftware.com/csharp/excel/examples/excel-formulas-csharp/). ```csharp // Create named ranges for formula use WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.DefaultWorkSheet; // Create sample data workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 }; workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 }; // Add named ranges workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]); workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]); // Use named ranges in formulas workSheet["D1"].Formula = "=SUM(FirstColumn)"; workSheet["D2"].Formula = "=AVERAGE(SecondColumn)"; workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)"; // Evaluate formulas workSheet.EvaluateAll(); ``` ### Gammes nommées dynamiques Bien qu'IronXL ne prenne pas directement en charge les plages nommées dynamiques d'Excel (à l'aide des fonctions OFFSET ou INDEX), vous pouvez mettre à jour de manière programmatique les plages nommées en fonction des modifications de données : ```csharp // Update named range based on data size WorkBook workBook = WorkBook.Load("dynamicData.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Find last row with data int lastRow = 1; while (!workSheet[$"A{lastRow}"].IsEmpty) { lastRow++; } lastRow--; // Adjust to actual last row // Remove old range and add new one workSheet.RemoveNamedRange("DataRange"); workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]); ``` ### Les plages nommées pour la validation des données Les plages nommées sont excellentes pour créer des listes de validation de données et des contraintes. Combinés aux fonctions de validation des données d'Excel (Excel), ils constituent un moyen efficace de garantir l'intégrité des données : ```csharp // Create a named range for validation list workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" }; workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]); // Apply to data validation (conceptual example) // The actual validation would reference "ValidationList" ``` ## Bonnes pratiques et conseils de performance 1. **Conventions d'appellation** : Utilisez des noms descriptifs et cohérents qui indiquent l'objectif des données (par exemple, `Sales_Q1_2024` plutôt que "Data1") 2. **Gestion du champ d'application** : Soyez attentif au champ d'application du classeur par rapport à celui de la feuille de calcul pour éviter les conflits 3. **Documentation** : Tenir à jour une liste des plages nommées et de leurs objectifs, en particulier dans les classeurs complexes 4. : les plages nommées ont un impact minimal sur les performances, mais évitez de créer des milliers de minuscules plages nommées 5. **Mises à jour** : Lorsque les structures de données changent, mettez à jour ou supprimez les plages nommées correspondantes afin de préserver l'exactitude Pour des opérations Excel plus avancées et l'optimisation des performances, explorez la [documentation complète d'IronXL](https://ironsoftware.com/csharp/excel/docs/) ou consultez des fonctionnalités spécifiques comme [le tri des plages Excel](https://ironsoftware.com/csharp/excel/examples/sort-excel-range-csharp/) ou [le travail avec les tableaux Excel](https://ironsoftware.com/csharp/excel/how-to/named-table/).

Questions Fréquemment Posées

Comment créer une plage nommée dans Excel à l'aide de C# ?

Pour créer une plage nommée dans Excel à l'aide de C# avec IronXL, sélectionnez votre plage cible à l'aide de l'indexeur de feuille de calcul (par exemple, workSheet["A1:B2"]), puis appelez la méthode SaveAsNamedRange avec le nom souhaité. Vous pouvez également utiliser la méthode AddNamedRange en transmettant le nom sous forme de texte et l'objet plage.

Quelles sont les règles de dénomination des plages nommées dans Excel ?

Lorsque vous utilisez IronXL pour créer des plages nommées, suivez ces conventions de dénomination Excel : Les noms doivent commencer par une lettre ou un trait de soulignement, ne peuvent pas contenir d'espaces (utilisez plutôt des traits de soulignement), ne peuvent pas entrer en conflit avec des références de cellules comme 'A1', et ne sont pas sensibles à la casse. IronXL applique ces règles automatiquement lorsque vous créez des plages nommées.

Puis-je récupérer toutes les plages nommées d'un classeur Excel par programme ?

Oui, IronXL fournit la méthode GetNamedRanges qui renvoie toutes les plages nommées dans la feuille de calcul sous la forme d'une liste de chaînes de caractères. Cette fonction est particulièrement utile lors de l'audit ou de la documentation des plages nommées dans les classeurs existants chargés avec IronXL.

Comment les plages nommées peuvent-elles améliorer mes formules Excel en C# ?

Les plages nommées rendent les formules Excel plus lisibles et plus faciles à maintenir lorsqu'on travaille avec IronXL.Excel. Au lieu d'utiliser des références de cellules comme " A1:B10 ", vous pouvez utiliser des noms descriptifs comme " SalesData " dans vos formules, ce qui rend votre code C# plus clair et plus facile à comprendre.

Est-il possible de créer des plages nommées pour des cellules non contiguës ?

Oui, IronXL prend en charge la création de plages nommées pour les sélections non contiguës et les lignes ou colonnes entières. Les fonctions complètes de gestion des feuilles de calcul de la bibliothèque vous permettent de définir des plages nommées complexes au-delà des simples sélections rectangulaires.

Quel est le moyen le plus rapide d'ajouter une plage nommée en une ligne de code ?

Avec IronXL, vous pouvez créer une plage nommée en une seule ligne en utilisant : new IronXL.WorkBook().DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true). Ceci démontre l'API simplifiée d'IronXL pour la manipulation d'Excel.

Comment supprimer les plages nommées d'une feuille de calcul Excel ?

IronXL fournit la méthode RemoveNamedRange pour supprimer facilement les plages nommées de votre feuille de calcul. Cette méthode fait partie des capacités complètes de gestion des plages nommées de la bibliothèque, qui vous permettent d'ajouter, de récupérer et de supprimer des plages nommées par programme.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 1,765,830 | Version : 2025.12 vient de sortir