Caractère générique (*, ?, ~)
Les caractères génériques permettent des recherches partielles dans des fonctions comme NB.SI, RECHERCHEV ou FILTRE. L'astérisque * remplace n'importe quelle séquence de caractères, le point d'interrogation ? remplace un seul caractère, et le tilde ~ permet de chercher littéralement * ou ?.
À quoi sert un caractère générique (*, ?, ~) dans Excel ?
Les caractères génériques sont des symboles spéciaux qui remplacent un ou plusieurs caractères dans les critères de recherche d'Excel. L'astérisque (*) remplace n'importe quelle séquence de caractères (y compris aucun caractère), le point d'interrogation (?) remplace exactement un caractère, et le tilde (~) permet de chercher littéralement un * ou un ? quand ces symboles font partie de tes données. Ils fonctionnent dans les fonctions de comptage et de somme conditionnelles (NB.SI, SOMME.SI), dans RECHERCHEV, dans Rechercher/Remplacer et dans les filtres.
Tu vas les utiliser chaque fois que tu ne connais pas la valeur exacte à chercher ou que tu dois regrouper des données par un critère partiel. Par exemple, compter toutes les lignes contenant "Paris" quelque part dans une adresse avec =NB.SI(A:A;"*Paris*"), ou chercher tous les codes produits qui commencent par "EL" avec =NB.SI(B:B;"EL*"). Les caractères génériques te permettent de poser des questions floues à tes données au lieu de chercher des correspondances exactes.
Caractère générique (*, ?, ~) : exemples concrets
Exemple 1 : Commercial : compter les clients par ville sans connaître l'adresse exacte
Tu es commercial dans une société de distribution de fournitures industrielles. Tu as une base de 3 000 clients avec une colonne "Adresse complète" qui mélange le numéro, la rue, le code postal et la ville dans une seule cellule (ex : "15 rue Victor Hugo, 69001 Lyon"). Tu veux compter combien de clients sont basés à Lyon.
Tu saisis =NB.SI(C2:C3001;"*Lyon*") pour compter toutes les cellules qui contiennent "Lyon" quelque part dans l'adresse. L'astérisque avant et après "Lyon" indique que n'importe quel texte peut précéder ou suivre le mot. Le résultat te donne 245 clients lyonnais, qu'ils soient à "Lyon", "69001 Lyon" ou "Lyon Cedex".
Pour affiner, tu peux combiner les caractères génériques avec d'autres critères. =SOMME.SI(C2:C3001;"*Lyon*";D2:D3001) additionne le chiffre d'affaires de tous les clients lyonnais. =NB.SI(C2:C3001;"*69???*") compte les clients dont l'adresse contient un code postal commençant par 69 suivi de 3 chiffres quelconques.
Exemple 2 : Gestionnaire de stock : identifier des références produits par préfixe
Tu es gestionnaire de stock dans une entreprise de pièces automobiles. Ton catalogue contient 8 000 références avec un système de codification : les pièces moteur commencent par "MOT-", les pièces carrosserie par "CAR-", les pièces freinage par "FRE-". Tu dois calculer la valeur du stock par famille de pièces.
Tu saisis =SOMME.SI(A2:A8001;"MOT-*";D2:D8001) pour additionner la valeur en stock (colonne D) de toutes les références qui commencent par "MOT-". L'astérisque après "MOT-" accepte n'importe quelle suite de caractères. Tu répètes la formule pour "CAR-*" et "FRE-*" et tu obtiens la répartition par famille en quelques secondes.
Pour trouver les références qui suivent un pattern précis, comme "MOT-" suivi de 4 chiffres, tu utilises le point d'interrogation : =NB.SI(A2:A8001;"MOT-????") compte les références avec exactement 4 caractères après le préfixe. Cela te permet de repérer les références qui ne respectent pas la convention de nommage (trop courtes ou trop longues).
- #1 Dans Rechercher/Remplacer (Ctrl+H), les caractères génériques sont actifs par défaut. Pour chercher un vrai astérisque dans tes données, tape ~* (le tilde neutralise le caractère générique).
- #2 Tu peux combiner les caractères génériques avec des références de cellules grâce à l'opérateur &. Par exemple, =NB.SI(A:A;"*"&E1&"*") cherche la valeur de E1 n'importe où dans la colonne A.
- #3 Le point d'interrogation ? est utile pour chercher des codes de longueur fixe. "????" trouve toutes les chaînes de exactement 4 caractères.
Les caractères génériques ne fonctionnent qu'avec du texte. Dans les critères numériques de NB.SI ou SOMME.SI, ils sont ignorés. Si tes données sont des nombres stockés comme du texte, convertis-les d'abord ou adapte ton critère.
Les erreurs courantes avec le caractère générique (*, ?, ~)
✕ Oublier les astérisques autour du terme de recherche
Tu écris =NB.SI(A:A;"Lyon") et tu obtiens un résultat plus faible que prévu. C'est parce que sans astérisque, NB.SI cherche une correspondance exacte : la cellule doit contenir uniquement "Lyon", pas "69001 Lyon" ni "Lyon Cedex". Toutes les cellules où "Lyon" est accompagné d'autres mots sont ignorées.
L'erreur inverse existe aussi : tu écris =NB.SI(A:A;"*Lyon*") alors que ta colonne contient des villes propres ("Lyon", "Paris", "Marseille"). Dans ce cas, "*Lyon*" et "Lyon" donnent le même résultat, mais l'astérisque pourrait aussi attraper "Villeurbanne-Lyon" si cette valeur existait. Choisis le critère en fonction de la structure réelle de tes données.
Solution : Utilise "*texte*" quand le mot peut apparaître n'importe où dans la cellule, "texte*" quand il doit être au début, "*texte" quand il doit être à la fin, et "texte" sans astérisque pour une correspondance exacte. Teste toujours ton critère sur quelques cellules avant de l'appliquer à toute la plage.
✕ Utiliser les caractères génériques dans des fonctions qui ne les supportent pas
Les caractères génériques fonctionnent dans NB.SI, SOMME.SI, RECHERCHEV (en mode correspondance exacte avec le 4e argument à FAUX), Rechercher/Remplacer et les filtres automatiques. Mais ils ne fonctionnent pas dans toutes les fonctions Excel. Par exemple, la fonction TROUVE ne supporte pas les caractères génériques (utilise CHERCHE à la place), et EQUIV ne les accepte qu'en mode correspondance approximative.
Tu passes du temps à construire un critère avec des astérisques dans une fonction qui les interprète comme du texte littéral. La formule ne renvoie pas d'erreur, mais les résultats sont faux parce que la fonction cherche littéralement le caractère *.
Solution : Avant d'utiliser des caractères génériques, vérifie dans la documentation de la fonction qu'elle les supporte. Les fonctions qui acceptent un critère texte (NB.SI, SOMME.SI, NB.SI.ENS, SOMME.SI.ENS, RECHERCHEV, EQUIV en mode 1 ou -1) les supportent généralement. Pour les autres, utilise des fonctions texte comme CHERCHE ou GAUCHE pour extraire la partie qui t'intéresse.
Questions fréquentes sur le caractère générique (*, ?, ~)
Tu utilises l'astérisque (*) pour remplacer n'importe quelle séquence de caractères et le point d'interrogation (?) pour remplacer exactement un caractère. Par exemple, dans NB.SI, le critère "*Excel*" compte toutes les cellules contenant le mot "Excel" n'importe où. Le critère "A??" trouve les chaînes de 3 caractères commençant par A. Pour chercher un vrai astérisque ou point d'interrogation dans tes données, fais-le précéder du tilde (~).
Les principales fonctions qui supportent les caractères génériques sont NB.SI, NB.SI.ENS, SOMME.SI, SOMME.SI.ENS, MOYENNE.SI, MOYENNE.SI.ENS, RECHERCHEV (en mode correspondance exacte), RECHERCHEH, et EQUIV (en mode correspondance approximative). La boîte de dialogue Rechercher/Remplacer (Ctrl+H) et les filtres automatiques les acceptent aussi. En revanche, les fonctions texte comme TROUVE ou SUBSTITUE ne les supportent pas.
Fais précéder le caractère du tilde (~). Pour chercher les cellules contenant un vrai astérisque, utilise le critère "~*" dans NB.SI ou dans Rechercher/Remplacer. Pour un point d'interrogation, utilise "~?". Le tilde agit comme un caractère d'échappement qui dit à Excel de traiter le symbole suivant comme du texte littéral et non comme un caractère générique.
Termes liés
Envie d'aller plus loin ?
Explore les 293 termes de notre lexique ou découvre nos formules Excel.