Office 365 [RESOLU] Remplacer un texte par un nombre

ivan27

XLDnaute Occasionnel
Bonsoir le forum,

J'ai fait quelques recherches sans trouver de solution.
J'ai une liste de mots dans une colonne et je souhaite donner une valeur à 2 chiffres à chaque mot, en partant de 10.
Merci d'avance pour votre aide.
Réponse en VBA s'il vous plaît
Bonne fin de soirée

Ivan
 

Fichiers joints

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Avec une macro dans le module de Feuil1:
VB:
Sub numero()
Const Depart = 10
Dim t, dico As New Dictionary, i&, max&
  dico.CompareMode = TextCompare: max = Depart - 1
  t = Range("a1:b" & Cells(Rows.Count, "a").End(xlUp).Row)
  For i = 1 To UBound(t)
    If Not dico.Exists(CStr(t(i, 1))) Then max = max + 1: dico(CStr(t(i, 1))) = max
    t(i, 1) = dico(CStr(t(i, 1)))
  Next i
  Range("b:b").ClearContents: Range("b1").Resize(UBound(t)) = t
End Sub
 

Fichiers joints

Dernière édition:

ivan27

XLDnaute Occasionnel
Bonjour le forum,
Mapomme, merci beaucoup pour votre proposition qui fonctionne parfaitement sur mon classeur de production.
Bien cordialement et excellente journée
Ivan
 

Discussions similaires


Haut Bas