Microsoft 365 Nombre aléatoire unique fixe

  • Initiateur de la discussion Initiateur de la discussion Vince6
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Vince6

XLDnaute Nouveau
Tout d'abord bonjour 🙂
Nouveau sur le forum, et loin d'être une flèche sur Excel, j'ai passé un peu de temps pour voir si le sujet avait été évoqué et essayé de m'inspirer de sujets déjà traités, mais je n'ai pas trouvé mon bonheur, ni réussi à adapter à mon besoin ☹️
Mon besoin est le suivant: dans un fichier contenant des noms de clients, je dois générer, pour chacun d'entre eux, un numéro à 4 chiffres unique compris entre 1000 et 9999 (genre code PIN). Je dois pouvoir faire évoluer mon fichier (entrée d'un nouveau client ou suppression d'un ancien) toujours sans générer de doublon, ni modifier les codes déjà attribués.
Dans les différentes formules que j'ai trouvé et essayé d'utiliser, j'ai réussi à faire quelque chose de convenable ou niveau de la création des codes mais, le problème, c'est que dès que fais quoi que ce soit avec ou dans le fichier (ouverture, fermeture, entrée dans une cellule, insertions ligne ou colonne, etc...), tous mes codes PIN changent...😭
Je n'ai pas regardé du côté VBA car je ne maitrise pas du tout (on va dire que je sais que ça existe, guère plus!!!).
D'avance merci pour vos retours et pour votre aide.
 
Bonjour
sans ton fichier (sans donnée confidentielle), on ne pourra pas beaucoup t'aider
si tu génères les codes pin avec une formule à base de "Alea.entre.borne" c'est normal que les codes changent à chaque fois que la feuille est Recalculée.
c'est comme si tu faisais un calcul de la somme(A5😀5) ==> dès que tu changes une valeur entre A5 et D5, la somme est recalculée automatiquement
idem pour la fonction alea

il faudrait
soit figer les codes pin une fois générés===> par un copier collage special valeur (pour enlever la formule)
soit générer le code par vba uniquement sur les nouveaux clients, ou sur un client selectionné (pour un re-init du code pin par exemple)
 
Bonjour,

Oui un fichier exemple serait le mieux.
J'ai fait ça pour un ami pas plus tard que la semaine dernière (adapté à vos nombres) :
Valable uniquement sur 365 et supérieur
=LET(
Nums;SEQUENCE(9000;;1000);
NonTirés;FILTRE(Nums;ESTERREUR(EQUIV(Nums;Clients[ID];0)));
INDEX(NonTirés;ALEA.ENTRE.BORNES(1;NBVAL(NonTirés)))
)
Où Clients[ID] est la colonne d'un tableau structuré

La fonction :
1 - définit une sequence de 9000 nombre
2 - définit un tableau expurgé des ID clients existants
3 - renvoie un item aléatoire de ce tableau des 'non tirés'

Bien entendu cette fonction doit être mise dans une cellule et sa valeur doit être copiée ou saisie pour un nouveau client à enregistré dans le tableau des clients.

En bref elle donne aléatoirement le prochain ID client dans la liste des disponibles

Cordialement
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
730
Réponses
5
Affichages
840
Retour