Comment traduire "sauf" dans la formule ci-dessous?

Bonjour à tous,

La formule suivante permet d'obtenir des codes à 6 caractères aléatoires avec pour seul caractère fixe le chiffre et première lettre du début.

Hors, j'aimerais ajouter une condition qui exclurait la lettre "L". ça fait un moment que je me casse la tête et je ne trouve pas comment faire, pourriez-vous m'aider, s'il vous plaît?

="8u"&(CHAR((INT(RAND()*26)+1)+64)&(CHAR((INT(RAND()*26)+1)+64)&(CHAR((INT(RAND()*26)+1)+64)&(CHAR((INT(RAND()*26)+1)+64)))))

Exemple de résultat: 8UBLFG

Merci beaucoup d'avance!

Meilleures salutations

3 réponses

  1. Contributeur
    Bonjour,

    J'ai l'impression qu'il faudrait utiliser 4 cellules intermédiaire pour fixer le nombre aléatoire qui doit être utilisé 2 fois (test+utilisation)
    C'est plus simple avec une fonction personnalisée en VBA :
    Function code4L()
        Dim i As Long, L As String
        'Application.Volatile
        For i = 1 To 4
            L = Int(Rnd() * 25 + 1)
            code4L = code4L & Chr(IIf(L = 12, 26, L) + 64)
        Next i
    End Function

    Si tu veux que ce soit réévalué à chaque recalcul de la feuille (ou par F9) enlève l'apostrophe devant Application.Volatile

    Alt+F11 pour voir le code dans le Module1
    https://www.cjoint.com/c/CHvsBdr5MVW

    eric

    0
    1. Bonjour,
      Si c'est pour une application volatile on y parvient par formule en ajoutant 2 Alea.entre.borne (RANDBETWEEN)
      ="7r"&CAR(64+ALEA.ENTRE.BORNES(1;11)+ALEA.ENTRE.BORNES(0;15))&CAR(64+ALEA.ENTRE.BORNES(1;11)+ALEA.ENTRE.BORNES(0;15))&CAR.....etc
      0
      1. Merci beacuoup à vous deux!

        Je vais tester si ça marche de l'une ou l'autre façon.
        0