[quote="gary;gee"]Merci beaucoup cela fonctionne parfaitement j'ai compris la formule sauf la formule d'incrémentation .
"&TEXTE(NB.SI($C$3:C3;C3);"000")&"
[/quote]
NB.SI(plage ; critère) renvoie le nombre de fois que le critère apparaît dans la plage.
La première partie de la plage est en référence absolue ($C$3) et reste invariable lors de la recopie.
La seconde est relative (C3) et s'incrémente à la recopie.
Sur la seconde cellule la formule devient NB.SI($C$3:C4;C4) et nous donne le nombre de fois que le contenu de C4 (GRENOBLE) apparaît dans la plage C3:C4 (soit 2). La fonction TEXTE permet de renvoyer se nombre avec 3 chiffres (002).
Cela agit en quelque sorte comme un compteur renvoyant 001 à la première apparition de GRENOBLE, 002 à la seconde et ainsi de suite.
J' ai supposé, peut-être à tort, que tu voulais que le compteur s'incrémente indépendamment pour chaque ville.
Si ce n'est pas le cas, la fonction LIGNE() remplacera la fonction NB.SI.
A+