Autres chalenge vba

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 !

patricktoulon

XLDnaute Barbatruc
salut à tous
je doit créer des Ids une par une avec un bouton ou créer a la chaine tout un paquet d'id sans faire de doublons à coup sur
le chalenge c'est de faire sans RND
et pour couronner le tout la seule donnée disponible que l'on peut utiliser c'est le nombre d'id déjà créés

je donnerais ma méthode quand il y aura eu quelques participations

les condition d’élaborations pour la fonction
  1. ne doit pas faire appel a la fonction RND
  2. ne doit pas faire appel a un name ou registre ou toute autre source de memoring
  3. elle doit s'auto suffire
  4. et le must si je transfert cette fonction dans un autre classeur( et même plus loin , autre pc) elle ne doit pas créer des id déjà crées au par avant
 
Dernière édition:
Solution
re
@Oui sylvanu c'est juste pour te montrer que le moteur va (difficile de calculer tu prend un peu plus d'une seconde pour 100 je prends 0.6xxx pour 60 000

mais dans tout les cas personne n'a trouver l'astuce pour justement ne pas retirer les même
alors je vous le dis
la chose et simple la fonction réécrit son propre ADN
Code:
'+------------------------------------------------------------+
'¦                        PATRICKTOULON                       ¦
'¦                   collection fonction perso DNA            ¦
'¦   FONCTION AUTOSUFFISANTE PATRICKIENNE — VERSION 1.0       ¦
'¦ Cette fonction est vivante.Elle réecrit son propre ADN.   ¦
'¦ Elle ne dépend de rien. Il ne laisse rien derrière ELLE.   ¦
'¦ Elle est unique...
Salut,
il existe une fonction qui génère 100000 identifieurs uniques en moins de 120 ms :
VB:
Sub BulkGuids()
    Dim arr As Variant, bm As New cBenchmark, tim
    tim = Timer
    arr = Application.Run("GenerateGuids", 100000)
    [B2] = Timer - tim
    ' arr est maintenant un tableau 2D de GUIDs
    Range("A1").Resize(UBound(arr, 1), 1).Value = arr
End Sub
Regarde la pièce jointe 1224263

Nullosse
Salut nullosse

Voilà ce que j'ai avec ton code... très loin des 120ms 🤣
1761873106392.png
 
- 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
0
Affichages
561
Retour