Hello,
voici une proposition.
je passe en argument les codes générés précédemment ... attention au bout d'un certain nombre de codes ça commence à ramer
sinon on peut faire une fonction "passive" qui génére des codes et ensuite mettre une colonne qui teste NB.SI() ensuite en filtrant sur les NB.SI()=1 tu auras une bonne liste de code.
Code:
Function GenCode(ByVal r As Range) As String
Dim strValues As String
Dim currCode As String
Dim newCar As String
Dim c As Range
For Each c In r.Cells
strValues = strValues & "-" & c.Value
Next c
strValues = Mid(strValues, 2)
anotherCode:
Randomize
Do While Len(currCode) < 4
newCar = Int(Rnd() * 10)
If InStr(currCode, newCar) = 0 Then
currCode = currCode & newCar
End If
Loop
If InStr(strValues, currCode) Then GoTo anotherCode
GenCode = currCode
Set c = Nothing
End Function