Re
@jbf64
Quand vous cherchez un seul caractère dans une chaîne (comme un espace), Excel n’a pas besoin de diviser, car chaque caractère supprimé correspond à une occurrence.
Exemple simple :
Si A1 = "a b c d", il y a 3 espaces :
=NBCAR(A1) - NBCAR(SUBSTITUE(A1;" ";""))
NBCAR(A1) = 7
NBCAR(SUBSTITUE(A1;" ";"")) = 4 (sans espaces, cela donne "abcd").
Résultat = 7 - 4 = 3 (nombre d'espaces).
En revanche, si vous cherchez un mot ou une expression, comme <Placemark>, Excel doit diviser, car chaque occurrence du mot occupe plusieurs caractères.
---
Exemple :
Si A1 = "abc <Placemark> def <Placemark> ghi" :
= (NBCAR(A1) - NBCAR(SUBSTITUE(A1;"<Placemark>";""))) / NBCAR("<Placemark>")
NBCAR(A1) = 39
NBCAR(SUBSTITUE(A1;"<Placemark>";"")) = 17 (sans les <Placemark>, cela donne "abc def ghi").
Différence = 39 - 17 = 22 (caractères supprimés).
Division : 22 / 11 = 2 occurrences.
Cela est nécessaire, car un <Placemark> contient 11 caractères. La division permet donc de retrouver le bon nombre d'occurrences.
Pour un caractère seul, la division n’est pas requise.