Comment compter et numéroter l'apparition d'un mot

Arnault -  
 Arnault -
Bonjour,

Petite question sur excel.

Je voudrai savoir si l'on peut compter et numéroter automatiquement un mot au sein d'une cellule.

Mon exemple :

J'ai le mot Sylvie dans plusieurs de mes cellules.

Je voudrais qu'à sa première apparition (de gauche à droite), il apparaissent en "01 Sylvie", et à sa deuxième apparition en "02 Sylvie", troisième apparition "03 Sylvie", etc...

Est-ce possible ?

Merci par avance !




A voir également:

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir

Dans la même cellule que le mot pas possible sans macro, mais dans une cellule en dessous c'est possible avec un NB.SI
Par exemple les chaines de caractères étant dans les cellules A1 à G1, en A2 =SI(A1="Sylvie";NB.SI($A$1:A1;"Sylvie") & " Sylvie";"")

Cdlmnt
Via

"L'imagination est plus importante que le savoir." A. Einstein
0
Arnault
 
Merci beaucoup de cette réponse, mais dans mon cas, ce ne sera pas utile.

en fait, il faudrait vraiment que je puisse numéroter les noms avec comme un préfixe automatique. Car en fait, et pour être précis, je dois pouvoir compter ensuite, le nombre de "Sylvie" qui sont en 01, et toutes les autres.

ça pourrait se faire via une macro, dites vous ?
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Pour permettre aux intervenants de t'aider efficacement, il est souhaitable que tu joignes un fichier à la demande avec une présentation du résultat attendu.

Précise les points suivants :
- le comptage devra t-il se faire sur plusieurs identifiants ?
- le comptage est-il distinct sur chaque ligne ?
- Quelle est la plage concernée (nombre de lignes et de colonnes) ?
- etc.

Pour joindre le fichier, tu peux utiliser https://www.cjoint.com/
Ensuite, reviens coller ici le lien donné par le site.

A+
0
Arnault
 
Merci beaucoup.

Voici mon fichier d'exemple :
http://www.cjoint.com/c/EJAtcnZHzNq


Pour les précisions :
- le comptage devra se faire à chaque occurence de chaque mot : à chaque fois qu'apparait un prénom, il faudrait qu'il soit compté et préfixé de son numéro de comptage
- le comptage doit donc avoir lieu sur tout le tableau

En fait, par rapport à mon fichier d'exemple, je voudrai que la première fois ou apparaît "Sylvie", elle se préfixe automatiquement de "01" pour donner "01 Sylvie", la deuxième fois ou elle apparaît, elle se préfixe de 02, etc...

Comme je l'ai fait manuellement dans la partie du dessous de mon exemple.

merci beaucoup !
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > Arnault
 
Ton fichier en retour
https://www.cjoint.com/c/EJAtBqxqc2U

A+
0
Arnault > Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup !

mais n'y connaissant rien en macros, quand j'ouvre le fichier j'ai le message d'erreur suivant :
http://www.cjoint.com/c/EJAtPZkRdVq
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746 > Arnault
 
Re

Macro à mettre dans un module (ALT+F11 pour ouvrir Editeur VBA - Insertion - Module - copier-coller macro dans la page)
Sub comptab()
'première ligne du tableau
ligneD = 3 'A MODIFIER en fonction du tableau réel
' dernière ligne du tableau
ligneF = 6 'A MODIFIER en fonction du tableau réel
'1ere colonne du tableau
colD = 2 'A MODIFIER en fonction du tableau réel
'dernière colonne du tableau
ColF = 5 'A MODIFIER en fonction du tableau réel
'Boucle sur les colonnes et les lignes
For c = colD To ColF
For l = ligneD To ligneF
' nom dans la cellule
nom = Cells(l, c).Value
' si n'est pas vide
If nom <> "" Then
' compte le nombre de cellules contenant ce nom depuis la 1ere du tableau jusqu'à la cellule en cours
num = Application.WorksheetFunction.CountIf(Range(Cells(ligneD, colD), Cells(l, c)), "*" & nom)
' mise d'un 0 devant les nombres d'un chiffre pour former le préfixe sinon prefixe= nombre trouvé
If num < 10 Then pref = "0" & num Else pref = num
' remplacement valeur dans cellule par concaténation préfixe et nom
Cells(l, c) = pref & " " & nom
End If
Next
Next
End Sub


Dans la page pour lancer la macro : Onglet Developpeur - Macros - sélectionner comptab puis Executer

Cdlmnt
Via
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > Arnault
 
Le code proposé utilise un dictionnaire
L'objet dictionnaire fait partie de la bibliothèque Microsoft Scripting Runtime.
Il faut donc que cette bibliothèque soit référencée dans le projet.
Or, sur un Mac, cette bibliothèque n'existe pas.

Le code de via55 (que je salue) devrait te convenir.

A+
0