Applies ToExcel pour Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Une fonction personnalisée utilise le langage de formule M, utilise un ensemble de valeurs d’entrée, puis renvoie une valeur de sortie unique. Si vous avez une logique que vous souhaitez réutiliser de nombreuses fois ou appliquer le même ensemble de transformations à une autre requête ou valeur, envisagez de créer une fonction personnalisée, puis d’invoquer la fonction où et quand vous en avez besoin. Il existe plusieurs façons de créer une fonction personnalisée : 

  • Utilisez l’Éditeur avancé pour ajouter votre propre instruction let et démarrer à partir de rien.

  • Utilisez la commande Fonction personnalisée Invoke.

  • Il existe d’autres façons de créer des fonctions non abordées dans cette rubrique d’aide, notamment les commandes Créer une fonction et Ajouter en tant que requête. Pour une discussion approfondie, voir Présentation des fonctions M de Power Query (docs.com)et Utilisation de fonctions personnalisées (docs.com).

L’exemple suivant est un exemple simple d’une fonction personnalisée qui suit une programmation de longue date.

  1. Pour créer une requête vide : sélectionnez Excel données> obtenir des données > d’autres       sources > requête vide.Power Query      Cliquez avec le bouton droit sur un emplacement vide dans le volet Requêtes à gauche, puis sélectionnez Nouvelle requête > autres sources > requête vide.

  2. Dans le volet Requêtes à gauche, double-cliquez sur le nom, puis renommez la nouvelle requête vierge « HelloWorld ».

  3. Sélectionnez la nouvelle requête, puis sélectionnez Accueil> Éditeur avancé.

  4. Remplacez le code de démarrage du modèle par le code suivant :

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Sélectionnez Terminé.

  6. Vous avez changé la requête « HelloWorld » en fonction d’une fonction personnalisée. Notez l’icône Icône Fonction fonction à gauche.

  7. Pour appeler la fonction, sélectionnez-la, puis sélectionnez Invoke dans Aperçu des données.Facturation de la fonction personnalisée HelloWorld

  8. Les résultats de la fonction sont affichés dans Aperçu des données et ajoutés au volet Requêtes en tant que requête avec le nom par défaut, Fonction Invoked. Vous souhaitez peut-être le renommer en un nom plus significatif, tel que « HelloWorldResult ».

  9. Sélectionnez cette requête, puis sélectionnez Accueil> fermer & chargement pour voir les résultats dans une feuille de calcul.

Résultats 

Résultats de HelloWorld dans une feuille de calcul

L’exemple suivant montre comment transmettre un paramètre à une fonction personnalisée pour convertir un nombre décimal en nombre hexadécimal.

  1. Pour créer une requête vide : sélectionnez Excel données> obtenir des données > d’autres       sources > requête vide.Power Query      Cliquez avec le bouton droit sur un emplacement vide dans le volet Requêtes à gauche, puis sélectionnez Nouvelle requête > autres sources > requête vide.

  2. Dans le volet Requêtes à gauche, renommer la nouvelle requête vide « MyHex ».

  3. Sélectionnez la nouvelle requête, puis sélectionnez Accueil> Éditeur avancé.

  4. Remplacez le code de démarrage du modèle par le code suivant :

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Sélectionnez Terminé.

  6. Vous avez changé la requête « MyHex » en fonction d’une fonction personnalisée. Notez l’icône Icône Fonction fonction à gauche.

  7. Pour appeler la fonction, sélectionnez-la, puis dans Aperçu des données, entrez un nombre dans la zone paramètre1, puis sélectionnez Appeler.

    Facturation de la fonction personnalisée MyHex

  8. Les résultats de la fonction sont affichés dans Aperçu des données et ajoutés au volet Requêtes en tant que requête avec le nom par défaut, Fonction Invoked. Vous souhaitez peut-être le renommer en un nom plus significatif, tel que « MyHexResult ».

  9. Sélectionnez cette requête, puis sélectionnez Accueil> fermer & chargement pour voir les résultats dans une feuille de calcul.

Résultats 

Résultat de la fonction MyHex dans une feuille de calcul

Si vous avez créé une fonction avec au moins un paramètre, vous pouvez l’appeler comme fonction personnalisée pour créer une colonne et une nouvelle valeur pour chaque ligne d’une table.

  1. Pour ouvrir une requête, recherchez-en une précédemment chargée à partir de l’Éditeur Power Query, sélectionnez une cellule dans les données, puis sélectionnez Requête >Modifier. Pour plus d’informations, voir Créer, modifier et charger une requête dans Excel (Power Query).Remarque    Pour cet exemple, votre requête a besoin d’au moins une colonne d’un type de données Nombre entier.

  2. Créez la fonction personnalisée « MyHex », comme expliqué dans la section, créez et appellez une fonction personnalisée avec un paramètre avec l’Éditeur avancé.

  3. Dans la requête, sélectionnez Ajouter une colonne > fonction personnalisée Invoke. La boîte de dialogue Fonction personnalisée Invoke s’affiche.

  4. Entrez le nom de la nouvelle colonne, par exemple« HexConvert », dans la zone Nouveau nom de colonne.

  5. Sélectionnez le nom d’une fonction personnalisée prédéfinie dans la partie finale de la requête Fonction. Dans cet exemple, sélectionnez « MyHex ».

  6. Étant donné que la fonction personnalisée fait référence à un paramètre, il s’affiche désormais.

  7. Sélectionnez une colonne d’un type de données Nombre entier en tant que paramètre de la fonction.Boîte de dialogue Fonction personnalisée Invoke

  8. Sélectionnez OK.

Résultat

Une nouvelle colonne est créée et affiche la valeur hexadécimale de la colonne Nombre entier que vous avez entrée comme paramètre.

Nouvelle colonne de valeurs MyHex dans une feuille de calcul

Voir aussi

Aide de Power Query Excel recherche

Créer des formules Power Query dans Excel

Créer une requête Paramètre

Gérer les requêtes

Présentation des fonctions M de Power Query (docs.com)

Utilisation de fonctions personnalisées (docs.com)

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.