KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment trouver la première, la dernière ou une occurrence spécifique d’un caractère dans Excel ?

AuteurXiaoyang Date de modification

Dans de nombreuses tâches de traitement de données, vous êtes susceptible de croiser des listes de chaînes de texte contenant des caractères spéciaux — comme le trait d’union « - » — et d’avoir besoin d’identifier la position de leur première, dernière ou d’une occurrence spécifique (nième). Par exemple, l’extraction d’informations à partir de délimiteurs, l’analyse de codes de pièces ou la séparation de composants de données exige souvent de repérer avec précision l’emplacement d’un caractère donné au sein de chaque chaîne. Or, Excel ne dispose pas de fonction intégrée permettant de renvoyer directement la position de la première, de la dernière ou de la nième occurrence d’un caractère dans une cellule. Cet article vous propose plusieurs techniques pratiques et des solutions étape par étape pour localiser ces occurrences avec exactitude, répondant ainsi à une grande variété de besoins en analyse et préparation de données.


Trouver la dernière occurrence d’un caractère à l’aide de formules

Si vous souhaitez obtenir la position de la dernière occurrence d’un caractère spécifique (par exemple « - ») dans une chaîne de texte, les fonctions standard d’Excel ne le permettent pas directement. Toutefois, en combinant certaines formules, vous pouvez résoudre ce problème efficacement. Voici deux approches par formule, particulièrement utiles pour traiter des codes produits, des chemins de fichiers ou toute autre donnée structurée autour d’un séparateur récurrent. Attention : l’utilisation de formules complexes peut accroître la charge de calcul sur de grands jeux de données.

1. Dans une cellule vide (par exemple C2), saisissez ou copiez l’une des formules suivantes :

=SEARCH("^^",SUBSTITUTE(A2,"-","^^",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))
=LOOKUP(2,1/(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)="-"),ROW(INDIRECT("1:"&LEN(A2))))

Les deux formules visent à renvoyer la position (sous forme de nombre) de la dernière occurrence du caractère « - » dans la cellule référencée (A2). La première utilise RECHERCHE et SUBSTITUE pour identifier cette position en remplaçant le dernier « - » par un symbole unique, puis en le recherchant. La seconde combine RECHERCHEV avec STXT et LIGNE afin de localiser le dernier « - ». Vous pouvez choisir l’une ou l’autre méthode selon votre niveau de familiarité ou le volume de données à traiter. L’approche utilisant RECHERCHEV s’adapte plus facilement aux versions modernes d’Excel compatibles avec les tableaux.

Trouver la dernière occurrence du caractère avec une formule

2. Après avoir saisi la formule, appuyez sur Entrée. Pour l’appliquer à d’autres lignes, faites glisser la poignée de recopie vers le bas jusqu’à couvrir toute la plage nécessaire. Chaque cellule sera alors immédiatement remplie avec la position de la dernière occurrence correspondante pour chaque chaîne de texte, comme illustré ci-dessous. Vérifiez toujours que vos références de cellules sont correctes lorsque vous copiez la formule ailleurs.

Faites glisser et remplissez la formule dans d'autres cellules

Remarque : Dans ces exemples, A2 désigne la cellule contenant vos données, et « - » est le caractère cible. Vous pouvez remplacer « - » par tout autre caractère à rechercher. Si la cellule est vide ou si le caractère n’existe pas dans le texte, la formule peut renvoyer une erreur. Pour les entrées comportant des délimiteurs répétitifs ou des symboles spéciaux, vérifiez attentivement la présence éventuelle de caractères masqués ou non imprimables susceptibles d’influencer vos résultats.


Trouver la dernière occurrence d’un caractère à l’aide d’une fonction personnalisée (UDF)

Une autre méthode flexible consiste à utiliser une fonction personnalisée (UDF) dans un module VBA, qui vous offre un contrôle accru et une réutilisation simplifiée — particulièrement utile si vous devez fréquemment localiser la dernière occurrence de n’importe quel caractère dans le cadre de diverses analyses. Cette approche est idéale si vous recherchez une interface sous forme de formule concise ()=dernierepositioncar(cellule, caractère)), fonctionnant exactement comme les fonctions natives d’Excel. N’oubliez toutefois pas que les macros doivent être activées pour que les solutions VBA fonctionnent, et que vous devrez toujours enregistrer votre classeur au format compatible avec les macros (*.xlsm) afin de conserver votre fonction personnalisée.

1. Ouvrez la feuille de calcul dans laquelle vous souhaitez intégrer cette fonction.

2. Appuyez simultanément sur les touches ALT + F11 pour ouvrir l’éditeur Microsoft Visual Basic pour Applications.

3. Dans l’éditeur VBA, cliquez sur Insertion > Module pour créer un nouveau module. Copiez ensuite le code suivant et collez-le dans la fenêtre du module.

Code VBA : trouver la dernière occurrence d’un caractère

Function LastpositionOfChar(strVal As String, strChar As String) As Long
LastpositionOfChar = InStrRev(strVal, strChar)
End Function

Dépannage : Si la fonction ne renvoie aucun résultat, vérifiez que les macros sont bien activées et que vous avez saisi la référence de cellule ainsi que le caractère corrects dans la formule. Pour rechercher la dernière occurrence d’un autre caractère, il vous suffit de modifier l’argument en conséquence.

4. Sauvegardez et fermez la fenêtre de code. Revenez à votre feuille de calcul, puis saisissez la formule suivante dans une cellule vide (par exemple B2) : =lastpositionofchar(A2,"-"). Remplacez A2 par la cellule appropriée et « - » par le caractère cible souhaité.

Appliquer une formule pour obtenir la dernière occurrence du caractère

5. Faites glisser la poignée de recopie vers le bas pour appliquer la formule aux autres cellules concernées. Vous obtiendrez ainsi la dernière position du caractère spécifié dans chaque chaîne de texte, comme illustré ci-dessous.

Faites glisser et remplissez la formule dans d'autres cellules

Remarque: Le premier argument ()A2) correspond à la cellule source contenant votre chaîne de texte, et le second («-») au caractère cible. Vous pouvez adapter ces paramètres selon vos besoins. Si aucune correspondance n’est trouvée, la fonction peut renvoyer 0. Sauvegardez toujours votre travail avant d’exécuter ou de modifier du code VBA. En cas d’erreur, vérifiez la présence éventuelle de guillemets mal placés ou de références de cellules incorrectes.


Trouver la première ou la Occurrence occurrence d’un caractère à l’aide d’une formule

Si votre objectif est de repérer non seulement la dernière, mais aussi la première, la deuxième ou toute autre occurrence d’un caractère dans une chaîne de texte, vous pouvez utiliser une structure de formule différente. Cette approche s’avère souvent indispensable pour analyser des codes hiérarchiques, extraire des segments d’identifiants structurés ou localiser des symboles répétés au sein de données saisies.

1. Pour obtenir la position de la nième occurrence d’un caractère donné, saisissez ou collez la formule suivante dans une cellule vide (par exemple, C2) :

=FIND(CHAR(160),SUBSTITUTE(A2,"-",CHAR(160),2))

Dans cette formule, A2 est la cellule analysée, « - » est le caractère à rechercher, et 2 indique quelle occurrence de ce caractère vous souhaitez extraire (par exemple, 2 pour la deuxième occurrence). Vous pouvez adapter ce numéro en fonction de vos besoins.

Obtenir la nième occurrence du caractère avec une formule

2. Appuyez sur Entrée. Pour appliquer la formule à davantage de lignes, faites glisser la poignée de recopie vers le bas jusqu’à la plage souhaitée. Vous obtiendrez ainsi la position, par exemple, de la deuxième occurrence du caractère « - » dans chaque chaîne de texte. Si le numéro d’occurrence indiqué dépasse le nombre total de ce caractère dans la chaîne, la formule renverra une erreur. Dans ce cas, vérifiez vos données textuelles ou le paramètre d’occurrence.

Faites glisser et remplissez la formule dans d'autres cellules

Remarque : Le nombre 2 dans la formule correspond à l’occurrence recherchée. Modifiez ce chiffre pour localiser la position de la première, troisième, quatrième ou toute autre occurrence du caractère spécifié. Si le caractère n’apparaît pas autant de fois que demandé, une erreur #VALEUR! s’affiche ; vous pouvez la gérer à l’aide de SIERREUR() afin d’obtenir des résultats plus propres.


Rechercher la première ou la Occurrence occurrence d’un caractère spécifique grâce à une fonctionnalité simple

Pour les utilisateurs qui préfèrent une solution directe et interactive ou qui ne sont pas à l’aise avec la création de formules complexes ou de code VBA, Kutools pour Excel propose un outil pratique appelé Trouver la position de la N-ième occurrence d'un caractère dans une chaîne. Cet utilitaire permet d’extraire en un clin d’œil la position de la première, deuxième, troisième ou de toute autre occurrence d’un caractère spécifique dans une cellule — le tout en quelques clics seulement. Un gain de temps considérable pour accélérer les tâches répétitives de nettoyage de données, surtout lorsqu’on travaille avec de grands jeux de données.

Kutools pour Excelpropose plus de 300 fonctionnalités avancées pour simplifier les tâches complexes, stimulant ainsi créativité et efficacité.Intégré aux capacités de l’IA, Kutools automatise les tâches avec précision, rendant la gestion des données parfaitement fluide.Informations détaillées sur Kutools pour Excel...         Essai gratuit...
Remarque :Pour accéder à la fonctionnalité Trouver la position de la N-ième occurrence d'un caractère dans une chaîne, veuillez d’abord télécharger et installer Kutools pour Excel. Après l’installation, vous pourrez utiliser rapidement cette fonctionnalité via la barre d’outils.

Après avoir installé Kutools pour Excel, suivez ces étapes pour obtenir rapidement des résultats :

Supposons que vous souhaitiez obtenir la position de la deuxième occurrence du caractère tiret « - » dans un ensemble de chaînes de texte :

1. Cliquez sur la cellule dans laquelle vous souhaitez afficher le résultat.

2. Cliquez sur Kutools > Assistant de formule > Assistant de formule dans le ruban, comme illustré ci-dessous :

Cliquez sur la fonction Assistant de formules de Kutools

3. Dans la boîte de dialogue Assistant de formule :

  • Sélectionnez Recherche dans la liste déroulante Type de formule.
  • Choisissez Trouver la position de la N-ième occurrence d'un caractère dans une chaîne dans la liste Sélectionnez une formule.
  • Dans la zone Entrée d'argument, sélectionnez la cellule contenant votre texte, saisissez le caractère à rechercher, puis indiquez le numéro de l’occurrence souhaitée.

Définissez les options dans la boîte de dialogue Assistant de formules

4. Cliquez sur OK. Une fois la formule exécutée et son résultat affiché, faites glisser la poignée de recopie vers le bas pour l’appliquer aux autres lignes selon vos besoins. Cette méthode vous évite les erreurs liées à une saisie manuelle des formules.

Obtenez le résultat grâce à Kutools

Téléchargez et testez gratuitement Kutools pour Excel dès maintenant !

Cette option convient particulièrement aux utilisateurs non techniques ou à ceux qui doivent répéter fréquemment cette opération sur différentes feuilles de calcul, ce qui réduit les erreurs manuelles et économise du temps sur la construction de formules complexes.


Formule alternative pour les versions récentes d’Excel (avec tableaux dynamiques)

Dans les versions récentes d’Excel (Excel 365, Excel 2021 et ultérieures) qui prennent en charge les tableaux dynamiques, vous pouvez tirer parti de fonctions telles que SEQUENCE et FILTRE pour renvoyer simultanément toutes les positions d’un caractère. Cela facilite l’identification de la nième occurrence ou même la liste de toutes les occurrences dans une plage distincte, prête pour un traitement ultérieur.

1. Saisissez la formule suivante dans une cellule vide (par exemple, B2) pour obtenir toutes les positions du caractère « - » dans la cellule A2 :

=FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-")

Après avoir appuyé sur Entrée, la formule renvoie automatiquement les positions de chaque occurrence du « - » dans les cellules adjacentes. Si vous souhaitez obtenir uniquement la première occurrence, vous pouvez utiliser :

=INDEX(FILTER(SEQUENCE(LEN(A2)), MID(A2,SEQUENCE(LEN(A2)),1)="-"),2)

Remplacez 2 par le numéro d’occurrence souhaité. Cette méthode est particulièrement puissante pour les tableaux ou les listes de longueur variable, mais elle nécessite une version d’Excel compatible avec ces fonctions.

Conseil : Si vous voyez une erreur #CALC! ou similaire, vérifiez que votre version d’Excel prend en charge les tableaux dynamiques et assurez-vous que les cellules référencées contiennent bien des données textuelles.


Code VBA pour trouver la position Occurrence d’un caractère

Si vous avez besoin d’une solution permettant de trouver non seulement la dernière, mais aussi n’importe quelle position Occurrence d’un caractère, le VBA peut également vous aider. La macro suivante peut être personnalisée pour répondre à de nombreux besoins d’analyse différents et constitue un gain de temps considérable lorsqu’elle est utilisée de façon répétée sur plusieurs classeurs.

1. Allez dans l’onglet Développeur > Visual Basic, puis sélectionnez Insertion > Module. Collez le code ci-dessous dans la fenêtre du module :

Function NthPositionOfChar(cell As Range, ch As String, nth As Integer) As Long
    Dim s As String
    Dim i As Long, count As Long
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    s = cell.Value
    count = 0
    For i = 1 To Len(s)
        If Mid(s, i, 1) = ch Then
            count = count + 1
            If count = nth Then
                NthPositionOfChar = i
                Exit Function
            End If
        End If
    Next i
    NthPositionOfChar = 0
End Function

2. Fermez l’éditeur. Utilisez la formule =NthPositionOfChar(A2,"-",2) (en remplaçant les arguments si nécessaire) dans votre feuille de calcul pour obtenir la position de la deuxième occurrence du caractère « - » dans la cellule A2. Attention : si cette occurrence n’existe pas, la fonction renverra 0.

Ce code est idéal pour extraire de manière flexible des informations délimitées à partir de données ou pour simplifier les tâches répétitives d’analyse. Les fonctions personnalisées en VBA peuvent également être adaptées à des besoins plus spécifiques, tels que la recherche de caractères sensibles à la casse ou le traitement de grands jeux de données.


Lorsque vous travaillez avec des chaînes de texte et des positions d’occurrences de caractères, veillez toujours à vérifier la présence de caractères masqués ou non imprimables (tels que des espaces, des retours chariot ou des symboles Unicode spéciaux), car ils peuvent influencer les résultats de vos formules. Par ailleurs, si vos données utilisent différents délimiteurs, assurez-vous qu’ils sont cohérents avant d’appliquer des formules ou des macros. En cas d’erreur, examinez attentivement les paramètres d’entrée, les références de formule ainsi que le type de vos données (texte ou nombre) pour garantir leur compatibilité avec la fonction employée.

L’association de formules, de VBA et des fonctionnalités de Kutools offre une flexibilité totale pour toutes vos tâches de traitement de texte dans Excel, qu’elles soient simples ou complexes. Optez pour la méthode la mieux adaptée à votre niveau technique, à votre version d’Excel et à la complexité de vos données afin de garantir précision maximale et efficacité optimale.

Autres articles connexes :

  • Extraire tous les mots sauf le premier ou le dernier dans Excel
  • Extraire tous les mots d’une cellule à l’exception du premier ou du dernier peut vous aider à supprimer le mot indésirable dont vous n’avez pas besoin. Bien entendu, vous pouvez copier manuellement les mots souhaités et les coller un par un dans une autre cellule. Toutefois, cette méthode devient fastidieuse si plusieurs valeurs de cellules doivent être traitées en excluant systématiquement le premier ou le dernier mot. Comment extraire rapidement et facilement tous les mots sauf le premier ou le dernier dans Excel ?
  • Extraire des caractères de droite à gauche dans une cellule
  • Cet article explique comment extraire les caractères situés à droite d’une cellule jusqu’à la première occurrence d’un espace, pour obtenir facilement le résultat souhaité dans une feuille Excel. Une formule pratique est présentée ici afin de réaliser cette opération rapidement et efficacement.

  • Trouver la position de la première lettre minuscule
  • Si vous disposez d’une liste de chaînes de texte contenant à la fois Lettres majuscules et minuscules, vous souhaitez désormais connaître la position de la première lettre minuscule dans ces chaînes sur une feuille Excel. Comment obtenir ce résultat rapidement sans compter les caractères un par un ?

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels