# Comment utiliser la fonction « commence par » dans Excel ?

Dans l’univers de l’analyse de données avec Excel, la capacité à identifier et filtrer des informations selon leurs caractères initiaux représente une compétence fondamentale pour tout professionnel manipulant des volumes importants de données. Que vous gériez des milliers de numéros de contrats, des références produits ou des codes comptables, maîtriser les techniques de détection de préfixes vous permet d’automatiser vos traitements et d’éviter des heures de manipulation manuelle fastidieuse. Selon une étude de Microsoft, plus de 750 millions de personnes utilisent Excel dans le monde, et pourtant, moins de 15% exploitent pleinement les fonctions de recherche et de filtrage textuel. Cette lacune entraîne des pertes de productivité considérables, estimées à plusieurs heures par semaine pour les utilisateurs réguliers.

Les fonctions natives d’Excel offrent une panoplie d’outils pour tester si une cellule commence par une chaîne spécifique, chacune avec ses avantages et ses limites. Contrairement à d’autres logiciels qui proposent une fonction dédiée « commence par », Excel nécessite une approche combinant plusieurs fonctions pour atteindre ce résultat. Cette apparente complexité cache en réalité une flexibilité remarquable qui vous permettra de créer des solutions sur mesure adaptées à vos besoins précis. La compréhension de ces mécanismes transformera radicalement votre efficacité dans le traitement de données textuelles.

## Syntaxe et paramètres de la fonction GAUCHE dans Excel

La fonction GAUCHE constitue l’outil le plus intuitif pour extraire les premiers caractères d’une chaîne de texte dans Excel. Sa syntaxe simple =GAUCHE(texte; [no_car]) permet d’isoler un nombre défini de caractères depuis le début d’une cellule. Cette fonction s’avère particulièrement utile lorsque vous connaissez précisément la longueur du préfixe que vous recherchez. Par exemple, pour vérifier si un numéro de contrat à 10 chiffres commence par 1 ou 8, vous pouvez extraire le premier caractère puis le comparer à vos critères. La fonction GAUCHE accepte deux paramètres : le texte source et le nombre de caractères à extraire, ce dernier étant facultatif avec une valeur par défaut de 1.

L’application pratique de GAUCHE dans un contexte professionnel démontre sa puissance. Imaginons un fichier contenant 62 000 lignes de contrats où vous devez distinguer les contrats professionnels (commençant par 1 ou 8) des contrats particuliers (commençant par 5 ou 6). Une formule comme =SI(OU(GAUCHE(A2;1)="1";GAUCHE(A2;1)="8");"Pro";"Part") résoudra ce problème instantanément. Cette approche évite la manipulation manuelle de milliers de lignes et garantit une cohérence absolue dans la catégorisation. Selon des statistiques de productivité, l’automatisation de telles tâches peut réduire le temps de traitement de 95%, transformant une journée de travail fastidieux en quelques minutes.

### Structure de la formule GAUCHE avec nombre de caractères variable

La véritable puissance de la fonction GAUCHE se révèle lorsque vous combinez le paramètre de nombre de caractères avec d’autres fonctions pour créer des extractions dynamiques. Plutôt que de figer le nombre de caractères à extraire, vous pouvez le rendre variable selon le contexte. Par exemple, =GAUCHE(A1;TROUVE(" ";A1)-1) extraira tout ce qui précède le premier espace dans une cellule, quelle que soit la longueur de ce segment. Cette technique s’applique brillamment aux noms de fichiers, aux références produits

ou aux numéros de comptes analytiques, où seule la partie initiale porte l’information clé. En rendant ce paramètre variable, vous adaptez la fonction GAUCHE à des structures de données hétérogènes, tout en gardant une logique de « commence par » implicite. C’est un peu comme utiliser un couteau suisse plutôt qu’un simple couteau : vous ne changez pas d’outil, mais vous changez la manière de l’utiliser selon la situation.

Combinaison GAUCHE et NBCAR pour extraction dynamique

Lorsque vous travaillez avec des textes de longueur variable, la combinaison de GAUCHE et NBCAR permet de sécuriser vos formules et de mieux contrôler les caractères initiaux. La fonction NBCAR(texte) renvoie le nombre de caractères d’une chaîne, que vous pouvez ensuite injecter dans GAUCHE pour adapter l’extraction. Par exemple, pour supprimer le dernier caractère tout en conservant le début, vous pouvez écrire =GAUCHE(A2;NBCAR(A2)-1). Cette approche reste compatible avec une logique « commence par », car vous manipulez toujours les premiers caractères visibles.

Dans un contexte de nettoyage de données, cette combinaison est très efficace pour normaliser des codes qui comportent des suffixes parasites (espaces, tirets, lettres de contrôle…). Vous pourriez par exemple avoir des références comme PROD-001A, PROD-002B, etc., et vouloir ne garder que le préfixe jusqu’au tiret. Une formule comme =GAUCHE(A2;TROUVE("-";A2)-1) exploite implicitement la longueur renvoyée par NBCAR et vous garantit que tous vos codes « commencent par » le même motif utile. Vous préparez ainsi le terrain pour des tests SI plus fiables et des recherches par préfixe cohérentes.

Différences entre GAUCHE, GAUCHE.B et leurs encodages UTF-8

Dans les versions modernes d’Excel, vous disposez également de la fonction GAUCHE.B (ou LEFTB en version anglaise), qui ne travaille plus en nombre de caractères mais en nombre d’octets. Cette nuance est invisible si vous ne manipulez que des caractères ASCII simples (A–Z, 0–9, etc.), mais devient cruciale pour les alphabets accentués ou les jeux de caractères asiatiques. Concrètement, GAUCHE compte les caractères tels qu’ils apparaissent à l’écran, alors que GAUCHE.B compte la place mémoire occupée en arrière-plan. Avec un encodage de type UTF-8 ou double octet, un même caractère peut donc être « vu » différemment par ces deux fonctions.

Pourquoi cela compte-t-il pour vos tests « commence par » ? Parce qu’un préfixe mal tronqué peut fausser vos comparaisons et vos filtres. Si vous travaillez avec des codes produits incluant des lettres accentuées ou des caractères multilingues, privilégiez GAUCHE, qui se base sur le nombre réel de caractères perçus par l’utilisateur. Réservez GAUCHE.B à des scénarios très spécifiques, souvent hérités d’anciens systèmes où les données sont encodées en double octet. Dans 95 % des cas de filtrage « commence par », GAUCHE classique sera votre meilleur allié.

Gestion des erreurs #VALEUR! et #NOM? dans GAUCHE

Comme toute fonction Excel, GAUCHE peut générer des erreurs si ses paramètres ne sont pas correctement définis. L’erreur #VALEUR! apparaît le plus souvent lorsque le deuxième argument n’est pas un nombre valide (par exemple un texte ou une valeur négative). De même, une faute de frappe dans le nom de la fonction (=GAUCHEE() au lieu de =GAUCHE()) ou l’utilisation d’une version linguistique incorrecte dans Excel en anglais (=LEFT() est alors requis) déclenchera une erreur #NOM?. Ces messages peuvent interrompre vos calculs de « commence par » en cascade et brouiller vos tableaux de résultats.

Pour fiabiliser vos tests de préfixes, vous pouvez encapsuler GAUCHE dans SIERREUR ou dans un contrôle préalable du type de données. Par exemple, =SIERREUR(GAUCHE(A2;1);"") évite d’afficher des erreurs si la cellule est vide ou si le type n’est pas compatible. De même, une formule comme =SI(ESTTEXTE(A2);GAUCHE(A2;1);"") garantit que vous n’appliquez GAUCHE qu’aux cellules réellement textuelles. En réduisant les erreurs visibles, vous obtenez des tests « commence par » plus robustes, surtout lorsqu’ils sont utilisés sur des dizaines de milliers de lignes.

Utilisation de la fonction STXT pour détecter une correspondance en début de chaîne

Si GAUCHE est la fonction naturelle pour extraire les premiers caractères, STXT (ou MID en anglais) offre une alternative plus flexible pour simuler une condition « commence par ». Sa syntaxe =STXT(texte; no_départ; no_car) vous permet de choisir la position de départ et la longueur à extraire, ce qui en fait un outil polyvalent pour le contrôle des préfixes dans Excel. En fixant simplement la position de départ à 1, vous retrouvez le même comportement qu’une vérification de début de texte, tout en gardant la possibilité d’ajuster facilement la longueur extraite.

Formule STXT avec position 1 pour simuler « commence par »

Pour reproduire un test « commence par » avec STXT, il suffit de caler le deuxième argument à 1, ce qui indique de commencer l’extraction au premier caractère de la chaîne. Par exemple, pour tester si une cellule A1 commence par 401, vous pouvez utiliser la formule suivante : =SI(STXT(A1;1;3)="401";"401000";""). Ici, STXT extrait les trois premiers caractères, puis SI compare ce préfixe avec la valeur attendue. Si la condition est vraie, Excel renvoie 401000, sinon il affiche une cellule vide.

Cette technique est particulièrement utile lorsque vous devez appliquer des traitements différents selon les trois ou quatre premiers caractères d’un code. Vous pouvez ainsi construire des règles métier complexes : si le code commence par 401, on applique tel compte comptable ; s’il commence par 411, on applique un autre compte ; sinon, on laisse la cellule vide. STXT devient alors un véritable moteur de routage conditionnel, tout en respectant l’esprit de la fonctionnalité « commence par » que l’on retrouve dans d’autres outils.

Association STXT et EQUIV pour recherche multicritères

Pour aller plus loin, vous pouvez combiner STXT avec la fonction EQUIV afin de tester si le début d’une cellule appartient à une liste de préfixes autorisés. Imaginez une plage F2:F5 contenant les préfixes valides (par exemple 401, 411, 445, 707) et une colonne A avec vos codes comptables. Vous pouvez alors utiliser une formule du type =SI(ESTNUM(EQUIV(STXT(A2;1;3);$F$2:$F$5;0));"Préfixe connu";"Préfixe inconnu"). STXT isole les trois premiers caractères, EQUIV cherche ce préfixe dans la liste, et ESTNUM vérifie si une position valide a été trouvée.

Ce montage est très puissant pour la validation de données et le contrôle de cohérence. Plutôt que de tester chaque préfixe un par un avec une succession de SI imbriqués, vous centralisez vos préfixes dans un tableau de référence que vous pouvez mettre à jour à tout moment. En pratique, cela revient à demander à Excel : « Est-ce que ce texte commence par un des préfixes de ma liste ? » Vous gagnez en lisibilité, en évolutivité et en maintenabilité, ce qui est crucial dans les modèles utilisés par plusieurs équipes.

Comparaison STXT versus CHERCHE pour validation de préfixes

On confond souvent l’usage de STXT et de CHERCHE lorsqu’il s’agit de vérifier si une cellule commence par un texte donné. Pourtant, les deux fonctions répondent à des logiques différentes. STXT extrait une sous-chaîne à une position précise, alors que CHERCHE renvoie la position d’un texte à l’intérieur d’un autre texte, quelle que soit sa place. Ainsi, =CHERCHE("CO";"BT CO1") renverra 4, car « CO » commence au quatrième caractère, même si la cellule ne commence pas par « CO ». Pour un test strict « commence par », ce comportement n’est pas adapté.

C’est pourquoi, pour valider des préfixes, STXT (ou GAUCHE) reste plus fiable que CHERCHE. Une formule de type =SI(ET(ESTNUM(CHERCHE("CO";A1));CHERCHE("CO";A1)=1);"Commence par CO";"Autre") est possible, mais elle est plus lourde à lire et à maintenir. En pratique, utiliser STXT(A1;1;2)="CO" est plus clair et plus performant sur de grands volumes de données. Vous réservez CHERCHE aux situations où vous voulez savoir si un texte est présent n’importe où dans la cellule, et non pas uniquement au début.

Fonctions logiques SI et ET pour tester les caractères initiaux

Une fois que vous savez extraire les premiers caractères avec GAUCHE ou STXT, l’étape suivante consiste à combiner ces fonctions avec les opérateurs logiques SI, ET et OU. C’est cette combinaison qui vous permet de créer de vraies règles métier du type « si le texte commence par telle valeur, alors… ». Les fonctions logiques transforment un simple test de préfixe en décision automatisée : classification de clients, attribution de comptes, routage de dossiers, etc. Vous passez alors d’une logique de lecture à une logique d’action.

Construction SI(GAUCHE()) pour validation conditionnelle de préfixes

Le schéma le plus courant pour tester les caractères initiaux reste =SI(GAUCHE(cellule;nb_car)="préfixe";valeur_si_vrai;valeur_si_faux). Dans notre exemple de contrats pro/part, on utilise =SI(OU(GAUCHE(A2;1)="1";GAUCHE(A2;1)="8");"Pro";"Part") pour distinguer les catégories. Vous pouvez facilement adapter ce modèle à d’autres cas concrets : =SI(GAUCHE(B2;3)="401";"Compte Clients";"Autre") ou encore =SI(GAUCHE(C2;2)="FR";"France";"Export"). La fonction SI devient ainsi le cœur décisionnel de votre logique « commence par ».

Lorsque les règles se complexifient, vous pouvez multiplier les tests de préfixe avec ET ou OU. Par exemple, pour vérifier qu’un code commence bien par « FR » et que sa longueur est de 10 caractères, vous pourriez écrire =SI(ET(GAUCHE(A2;2)="FR";NBCAR(A2)=10);"Code valide";"Code à vérifier"). Ce type de contrôle est précieux dans les environnements soumis à des normes strictes (finance, logistique, ERP…), où la fiabilité des identifiants est essentielle.

Formules matricielles avec SOMME.SI et critères de début de texte

Lorsqu’il s’agit non plus seulement de tester, mais de totaliser des valeurs selon un critère « commence par », les fonctions SOMME.SI et SOMME.SI.ENS entrent en jeu. Bonne nouvelle : ces fonctions acceptent les caractères génériques, ce qui vous permet d’intégrer directement la notion de début de texte. Par exemple, pour additionner les montants dont le code en colonne C commence par « 658 », vous pouvez utiliser =SOMME.SI(C6:C13;"658*";D6:D13). Ici, l’astérisque * indique « peu importe ce qui vient après ».

Dans des versions plus anciennes ou pour des critères plus complexes, vous pouvez aussi utiliser des formules matricielles de type =SOMME((GAUCHE(C6:C13;3)="658")*D6:D13). Cette formule (à valider avec Ctrl+Maj+Entrée dans Excel non 365) multiplie un test logique sur le préfixe par les montants correspondants, puis fait la somme des résultats. C’est un peu comme si vous activiez un interrupteur (vrai/faux) sur chaque ligne en fonction du « commence par », avant d’additionner uniquement les montants marqués comme vrais. Cette technique reste très puissante pour construire des indicateurs personnalisés basés sur des préfixes.

Opérateur joker astérisque (*) dans NB.SI.ENS pour filtrage de début

Pour compter le nombre de cellules qui commencent par un certain texte, la fonction NB.SI.ENS est idéale, notamment lorsqu’elle est combinée avec le joker astérisque. La syntaxe générale est =NB.SI.ENS(plage;"texte*") pour une condition « commence par », =NB.SI.ENS(plage;"*texte*") pour « contient » et =NB.SI.ENS(plage;"*texte") pour « se termine par ». Par exemple, =NB.SI.ENS(A2:A1000;"CO*") vous donnera le nombre de cellules dont le contenu commence par « CO ».

Vous pouvez ensuite intégrer ce test dans une fonction SI pour construire des règles plus parlantes, comme =SI(NB.SI.ENS(A2;"CO*");"Code commençant par CO";"Autre code"). Notez qu’ici, NB.SI.ENS renvoie 1 si la condition est vraie (la cellule commence par CO) et 0 sinon. C’est une astuce intéressante pour créer une fonction « commence par » implicite, sans même avoir à utiliser GAUCHE ou STXT. Vous combinez ainsi simplicité de syntaxe et grande lisibilité, ce qui est précieux pour les fichiers partagés entre plusieurs collaborateurs.

Utilisation de EXACT pour comparaison sensible à la casse des premiers caractères

Par défaut, les tests de texte dans Excel ne sont pas sensibles à la casse : « co », « Co » ou « CO » sont considérés comme équivalents dans la plupart des fonctions. Mais que faire si, dans votre système, un préfixe en majuscule n’a pas la même signification qu’un préfixe en minuscule ? C’est là qu’intervient la fonction EXACT (ou EXACTE selon la langue), qui compare deux textes en respectant les majuscules et minuscules. En la combinant avec GAUCHE, vous obtenez un test « commence par » sensible à la casse.

Par exemple, =SI(EXACT(GAUCHE(A2;2);"CO");"Préfixe CO exact";"Autre cas") ne renverra VRAI que si la cellule commence précisément par « CO » en majuscules. Un préfixe « Co » ou « co » sera rejeté. Cette distinction peut paraître subtile, mais elle devient capitale dans des environnements où la casse véhicule une information (codes techniques, identifiants informatiques, tags de classification…). Vous disposez alors d’un niveau de précision supplémentaire pour contrôler vos données textuelles.

Filtrage avancé avec power query et critères de texte commençant par

Si les formules Excel offrent déjà de nombreuses possibilités pour tester si un texte commence par une chaîne donnée, Power Query pousse cette logique beaucoup plus loin en termes de volume, de performance et d’automatisation. Intégré nativement dans Excel (onglet Données > Obtenir et transformer les données), Power Query vous permet de définir des règles de filtrage « commence par » qui se réappliquent automatiquement à chaque actualisation de vos sources. C’est un outil clé si vous manipulez régulièrement des exports de bases de données ou des fichiers CSV volumineux.

Transformation colonne de texte commence par dans l’éditeur power query

Dans l’éditeur Power Query, vous pouvez appliquer un filtre « commence par » en quelques clics, sans écrire une seule ligne de code. Il vous suffit de sélectionner votre colonne de texte, de cliquer sur la flèche de filtre, puis de choisir Filtres de texte > Commence par…. Une boîte de dialogue s’ouvre alors, dans laquelle vous saisissez le préfixe à filtrer (par exemple « 401 », « FR », « CO »). Power Query ajoute automatiquement une étape de transformation à votre requête, que vous pouvez modifier ou supprimer à tout moment.

L’avantage majeur de cette approche est sa reproductibilité : une fois votre requête définie, vous pouvez actualiser vos données en un clic, et Power Query réappliquera le filtre « commence par » sur les nouvelles lignes importées. Vous n’avez plus besoin de revoir vos formules ou vos filtres à chaque nouveau fichier. Pour une équipe financière qui reçoit mensuellement un export de grand livre, par exemple, ce type de transformation récurrente représente un gain de temps considérable et une réduction drastique des risques d’erreur manuelle.

Fonction Text.Start en langage M pour extraction de préfixes

Derrière l’interface graphique de Power Query se cache le langage M, qui offre des fonctions dédiées à la manipulation de texte. Parmi elles, Text.Start joue un rôle similaire à GAUCHE dans Excel. Sa syntaxe est Text.Start(texte, nombreDeCaractères) et renvoie les premiers caractères de la chaîne spécifiée. Par exemple, dans une colonne personnalisée, vous pourriez écrire = Text.Start([Code]; 3) pour créer une nouvelle colonne contenant les trois premiers caractères de chaque code.

Vous pouvez ensuite utiliser cette colonne de préfixes pour regrouper, filtrer ou fusionner des tables. Par exemple, vous pouvez regrouper toutes les lignes partageant le même préfixe de code produit, ou fusionner votre table de transactions avec une table de référence des préfixes. C’est un peu comme si vous créiez une clé de regroupement basée sur « commence par », mais gérée directement au niveau de votre pipeline Power Query. En centralisant cette logique de préfixe dans M, vous simplifiez vos modèles Excel et vous déléguez la lourde charge de traitement à un moteur optimisé.

Requêtes paramétrées avec Table.SelectRows et comparateurs de début

Pour les utilisateurs plus avancés, Power Query permet de paramétrer des requêtes avec des filtres « commence par » dynamiques. En langage M, la fonction Table.SelectRows sert à filtrer les lignes selon une condition. Couplée avec Text.StartsWith, elle devient un équivalent direct de la logique « commence par ». Par exemple, vous pouvez écrire : = Table.SelectRows(Source, each Text.StartsWith([Code]; ParamPrefixe)), où ParamPrefixe est un paramètre que vous pouvez modifier depuis Excel.

Ce type de configuration est particulièrement intéressant si vous souhaitez laisser à l’utilisateur final le choix du préfixe à analyser, sans qu’il ait à entrer dans l’éditeur Power Query. Il lui suffit de changer la valeur du paramètre (par exemple via une cellule liée), puis d’actualiser la requête. Vous offrez ainsi une interface souple et évolutive, tout en conservant un haut niveau de performance sur de grands volumes de données.

Application des segments et filtres de tableau dans excel 365

Avec Excel 365, les outils de filtrage ont considérablement évolué, notamment grâce aux segments (slicers) et aux fonctions dynamiques comme FILTRE. Même si ces fonctionnalités ne proposent pas explicitement un bouton « commence par » dans tous les cas, vous pouvez facilement reproduire ce comportement avec des filtres de texte personnalisés ou des formules. L’objectif est toujours le même : permettre à l’utilisateur de ne voir que les lignes dont une colonne commence par un certain préfixe, de manière simple et interactive.

Filtres de texte personnalisés avec opérateur « commence par »

Sur un tableau standard ou un tableau structuré (format « Tableau » d’Excel), vous pouvez accéder à des filtres de texte avancés en cliquant sur la flèche de filtre d’une colonne. Dans le menu, choisissez Filtres de texte > Commence par…, puis indiquez le texte à utiliser comme préfixe. Excel masquera alors toutes les lignes qui ne répondent pas à cette condition, vous laissant une vue filtrée des données pertinentes. C’est l’équivalent visuel de la logique que nous avons implémentée plus tôt avec GAUCHE ou NB.SI.ENS.

Cette approche est particulièrement adaptée pour des analyses ponctuelles ou exploratoires, lorsque vous souhaitez tester rapidement plusieurs préfixes sans modifier la structure de vos formules. En revanche, elle reste manuelle : si vos données sont mises à jour fréquemment, vous devrez répéter l’opération de filtrage. C’est pourquoi, dès que votre besoin devient récurrent, il est souvent judicieux de basculer vers des formules dynamiques ou une solution Power Query, tout en conservant les filtres de texte pour des vérifications rapides.

Fonction FILTRE dynamique pour extraction de lignes par préfixe

La fonction FILTRE introduite dans Excel 365 change la donne en matière d’extraction conditionnelle de lignes. Elle vous permet de créer des vues dynamiques qui se mettent à jour automatiquement lorsque les données sources changent. Pour reproduire un filtre « commence par », vous pouvez construire un critère basé sur GAUCHE ou sur un test logique. Par exemple : =FILTRE(A2:D1000;GAUCHE(A2:A1000;2)=G1), où G1 contient le préfixe à tester (comme « CO » ou « FR »).

Chaque fois que vous modifiez la valeur de G1, la liste filtrée se met à jour instantanément. Vous créez ainsi des rapports dynamiques fondés sur des préfixes, sans recourir aux filtres manuels. C’est très utile pour générer des vues « par pays », « par gamme de produits », « par type de contrat » lorsque ces informations sont codées dans les premiers caractères d’une colonne. Vous offrez à l’utilisateur final une expérience proche d’un outil de BI, tout en restant dans l’environnement familier d’Excel.

Segments de tableau croisé dynamique avec étiquettes commençant par

Les segments (ou slicers) appliqués à des tableaux croisés dynamiques ne proposent pas directement un opérateur « commence par », puisqu’ils agissent sur des valeurs discrètes. Cependant, vous pouvez exploiter la logique de préfixe en amont, en créant une colonne dédiée qui contient uniquement la partie initiale de vos codes (grâce à GAUCHE ou STXT). Cette colonne devient alors un champ d’étiquette dans votre TCD, sur lequel vous pouvez connecter un segment.

Par exemple, si vous avez des références produits comme PROD-A-001, PROD-B-002, etc., vous pouvez créer une colonne « Gamme » avec la formule =GAUCHE([@Référence];5) pour obtenir « PROD-« . Ensuite, vous générez un TCD en utilisant « Gamme » comme champ de ligne et vous insérez un segment sur cette dimension. L’utilisateur n’a plus qu’à cliquer sur les segments correspondant aux préfixes désirés pour filtrer l’ensemble du rapport. Vous transformez ainsi une contrainte technique (« commence par ») en une expérience utilisateur fluide et visuelle.

Formules DAX dans power pivot pour recherche de chaînes initiales

Lorsque vos modèles dépassent les capacités natives d’Excel ou que vous devez consolider des millions de lignes, Power Pivot et le langage DAX prennent le relais. Même si l’environnement change, les besoins restent les mêmes : tester si un texte commence par un certain préfixe, afin de créer des mesures, des colonnes calculées ou des indicateurs pertinents. DAX propose des fonctions similaires à celles d’Excel (LEFT, SEARCH, FIND, etc.), mais pensées pour un moteur de calcul de type base de données.

Fonction LEFT en DAX combinée avec CALCULATE pour mesures filtrées

En DAX, la fonction LEFT joue le même rôle que GAUCHE en Excel, mais s’utilise dans des colonnes calculées ou des mesures. Pour créer une mesure qui calcule le chiffre d’affaires des produits dont le code commence par « PRO », vous pourriez écrire : CA PRO := CALCULATE(SUM(FactVentes[Montant]); LEFT(DimProduit[Code];3) = "PRO"). Ici, CALCULATE modifie le contexte de filtre en n’incluant que les lignes où le préfixe du code produit est « PRO ».

Cette manière de faire est particulièrement puissante dans un modèle tabulaire, car elle s’applique à la volée en fonction des autres filtres (période, pays, canal…). Vous obtenez des indicateurs dynamiques basés sur des préfixes, sans avoir besoin de multiplier les colonnes dans votre table de faits. C’est l’équivalent, côté BI, des SOMME.SI par préfixe que nous avons vus dans Excel, mais avec une échelle et une flexibilité bien supérieures.

SEARCH et FIND DAX pour position 1 et validation de début

En plus de LEFT, DAX propose les fonctions SEARCH et FIND, analogues à CHERCHE et TROUVE en Excel. La différence majeure est que SEARCH n’est pas sensible à la casse, alors que FIND l’est. Pour tester si une chaîne commence par un texte donné, vous pouvez vérifier si la position renvoyée est égale à 1. Par exemple : CommenceParPRO := IF(SEARCH("PRO";DimProduit[Code];1;BLANK()) = 1; TRUE(); FALSE()). Cette colonne calculée renverra TRUE uniquement si le code commence bien par « PRO ».

Vous pouvez ensuite utiliser cette colonne comme filtre dans des mesures ou des visuels Power BI. Cette approche est intéressante lorsque vous avez besoin à la fois de savoir si un texte commence par une chaîne, mais aussi s’il la contient ailleurs. En jouant sur la valeur de la position (1 pour début, >1 pour « contient ailleurs »), vous couvrez une palette complète de scénarios de recherche textuelle, tout en restant dans la même logique fonctionnelle.

Création de colonnes calculées avec SWITCH et tests de préfixes multiples

Pour gérer plusieurs préfixes à la fois dans Power Pivot ou Power BI, la fonction SWITCH combinée à LEFT est une solution élégante. Elle vous permet de remplacer une cascade de IF imbriqués par une structure plus lisible. Par exemple :

CatégorieCode := SWITCH(TRUE();LEFT(DimCompte[Code];3) = "401"; "Clients";LEFT(DimCompte[Code];3) = "411"; "Fournisseurs";LEFT(DimCompte[Code];3) = "445"; "TVA";"Autre")

Dans cet exemple, SWITCH(TRUE() évalue successivement chaque condition basée sur le début du code, et renvoie la première catégorie correspondant au préfixe détecté. C’est l’équivalent DAX des tableaux de correspondance par préfixe que vous pourriez construire dans Excel avec STXT et EQUIV. Cette technique vous permet de centraliser la logique métier des préfixes dans une seule colonne calculée, réutilisable dans tous vos rapports et visuels, ce qui contribue à la cohérence globale de votre modèle d’analyse.