Au travail, Mark doit régulièrement compter le nombre de virgules dans une plage de cellules sélectionnées. Il ne trouve pas de fonction Excel pour effectuer ce type de tâche et se demande si une macro pourrait faire l’affaire.

Bien qu’aucune fonction de feuille de calcul ne produise le décompte souhaité, vous pouvez utiliser une ou deux formules. Si vous voulez simplement connaître le nombre de cellules contenant au moins une virgule, la formule suivante fonctionnera très bien:

=COUNTIF(A1:A10,",")

Si, à la place, vous devez déterminer le nombre de virgules dans la plage alors qu’il peut y avoir plusieurs virgules par cellule, vous devez utiliser une formule différente:

=SUM(LEN(A1:A10))-SUM(LEN(SUBSTITUTE(A1:A10,",","")))

Cette formule doit être entrée sous forme de formule matricielle, ce qui signifie que vous devez utiliser Ctrl + Maj + Entrée pour entrer la formule. Si vous avez besoin de calculer le nombre pour une plage différente, modifiez simplement la plage à deux endroits dans la formule.

Si vous préférez, vous pouvez également créer une fonction définie par l’utilisateur pour compter le nombre de virgules. Il existe plusieurs façons d’aborder une telle tâche; ce qui suit n’est qu’un exemple.

Function CountComma(rng As Range)

Dim iCount As Integer     Dim rCell As Range     Dim sTemp As String

Application.Volatile     iCount = 0     For Each rCell In rng         sTemp = Replace(rCell.Value, ",", "")

iCount = iCount + _           (Len(rCell.Value) - Len(sTemp))

Next     CountComma = iCount     Set rCell = Nothing     Set rng = Nothing End Function

Pour utiliser la fonction dans la feuille de calcul, entrez ce qui suit dans une cellule:

=CountComma(A1:A10)

Toutes ces méthodes décrites jusqu’à présent compteront les virgules qui se trouvent réellement dans la cellule. Ils ne compteront pas les virgules apparaissant dans la cellule en raison du formatage. Par exemple, si un nombre apparaît sous la forme « 1 234 » dans une cellule, il y a de fortes chances que la virgule soit là en raison de la façon dont la cellule est formatée; ce n’est pas vraiment dans la cellule elle-même.

Ces virgules ne sont pas comptées.

Bien sûr, si tout ce que vous avez à faire est de connaître le nombre de virgules et que vous n’avez pas besoin de la valeur dans votre feuille de calcul, vous pouvez contourner l’utilisation de formules et de macros toutes ensemble. Suivez ces étapes générales:

  1. Sélectionnez la plage de cellules dans laquelle vous souhaitez compter des virgules.

  2. Appuyez sur Ctrl + H pour afficher l’onglet Remplacer de la boîte de dialogue Rechercher et remplacer.

  3. Dans la zone Rechercher, entrez une virgule.

  4. Dans la zone Remplacer par, entrez une virgule.

  5. Cliquez sur Remplacer tout.

Excel effectue le remplacement et affiche une boîte de dialogue indiquant le nombre de remplacements effectués.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (11029) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Counting_Commas_in_a_Selection [Comptage des virgules dans une sélection].