Doublons dans un tirage au sort

Bonjours à tous,

J'ai un problème de tirage au sort d'équipes pour un concours de pétanques:

En feuille ("Participants"), tout fonctionne bien...

En feuille ("Equipes"), le bouton "Tirage des équipes" va prendre sa source en Col 3 de la feuille ("Participants").

Puis appaire les équipes Col B et C de la feuille ("Equipes"), mais en observant le tirage obtenu, on s'aperçoit qu'il y a des doublons, voir les noms surlignés.

J'ai bien pensé à "Randomize", mais ça n'a rien réglé...

Pourriez vous m'aider à régler ce soucis ?

Merci à tous pour votre aide bien précieuse...

Mon fichier joint:

Bonjour le forum,

Le sujet n'inspire personne...

Je cherche toujours la solution, mais ne la trouve pas...

Je suis désespéré...HELP SVP

Merci aux bonnes âmes qui voudrons bien essayer de m'aider.

Hello !

J'ai déjà une erreur l'ouverture ....

capture d ecran 136

Je n'ai pas compris grand chose à tes macros pléthoriques et écologiques (tout est en vert = commentaire)

Je suis donc reparti de zéro ... avec une méthode qui n'est pas de moi je précise (mais je ne suis pas sûr de son auteur)

49tri-aleatoire.xlsm (19.74 Ko)

Bonjour Steelson,

Steelson a écrit :

Je n'ai pas compris grand chose à tes macros pléthoriques et écologiques (tout est en vert = commentaire)

Je suis donc reparti de zéro ... avec une méthode qui n'est pas de moi je précise (mais je ne suis pas sûr de son auteur)

Merci pour ce nouveau code qui est bien plus light que celui que j'avais et il fonctionne parfaitement...

J'ai changé le nom des variables pour qu'il soit plus lisible pour moi, et j'ai commenté ce que j'ai pu avec mes maigres connaissances.

A mon niveau VBA, j'en ai besoin pour mieux suivre le déroulement du code...!

J'ai également fais des recherches [F1] pour l'aide microsoft, et des recherches Web.

Je bloque sur "ChrW(32 + NbreColB"... Pourquoi "32" ? a quoi se référe t-il ?

d'autre part, j'ai cherché à renvoyer l'affichage des colomnnes C et D en colonnes B et C d'une ("Feuil2") que, j'ai rajouté; mais je n'ai pas trouvé la solution3 A tu une idée pour faire ça...?

Une dernière chose me chagrine, ce sont les formules Excel en cellules A2 et B2, J'aurais aimé ne passer qu'en VBA...!

Tes connaissances en VBA te permettent-elles de m'aider un peu plus ?

En tout cas, merci encore pour ton intervention sur mon poste qui stagnait.

A+

Mon fichier joint avec mes modifs:

14tri-aleatoire.xlsm (21.91 Ko)
atlonia a écrit :

Je bloque sur "ChrW(32 + NbreColB"... Pourquoi "32" ? a quoi se référe t-il ?

https://msdn.microsoft.com/fr-fr/library/613dxh46(v=vs.90).aspx

je regarde pour le reste

voici

38tri-aleatoire.xlsm (21.72 Ko)
Steelson a écrit :

Je n'ai pas compris grand chose à tes macros pléthoriques et écologiques (tout est en vert = commentaire)

Je suis donc reparti de zéro ... avec une méthode qui n'est pas de moi je précise (mais je ne suis pas sûr de son auteur)

Bonsoir Steelson,

Ma méthode préférée ! garantissant un tirage sans doublon... Pour ma part, je la dois à Galopin, en reprenant par hasard un fichier sur lequel il avait antérieurement travaillé... J'ai trouvé ça génial et je la nomme volontiers String-Galopin ( )

Explication pour Atlonia :

La fonction ChrW(code caractère) renvoie un caractère unicode à partir d'un nombre (son code caractère dans la table).

Les 31 premiers caractères sont des caractères de contrôle, qu'il est préférable d'éviter, et le 32 est l'espace standard (à éviter également). Donc pour lister par exemple 100 caractères, on construit un chaîne au moyen d'une boucle :

For i = 1 To 100
    chaine = chaine & ChrW(i + 32)
Next i

On tire un caractère de cette chaine, que l'on ôte de la chaine pour le tirage suivant, et on retrouve le numéro d'ordre représenté par le caractère avec : AscW(caract) - 32.

Le tirage est nécessairement sans doublon car la méthode est analogue à mettre les noms dans un chapeau pour les en sortir un par un...

Cordialement.

Bonsoir Steelson,

Merci pour ton travail qui est parfait...

Le lien que tu m'a donné sur ton post précédent, dit que la page est introuvable...

En cherchant chrw sur microsoft, j"ai trouvé cette page: https://msdn.microsoft.com/fr-fr/library/613dxh46(v=vs.90).aspx

Est ce celle que tu voulais m'indiquer ?

Merci encore pour ton aide.

A+


Bonsoir MFerrand,

Merci pour tes explications limpides comme à ton habitude, je la ranges dans ma librairie avec quelques autres de ton cru, pour les avoir à portée de main...

Je suis fan...

MFerrand a écrit :

Ma méthode préférée ! garantissant un tirage sans doublon... Pour ma part, je la dois à Galopin, en reprenant par hasard un fichier sur lequel il avait antérieurement travaillé... J'ai trouvé ça génial et je la nomme volontiers String-Galopin ( )

Merci à tous les 2; c'est en effet une méthode intelligente !
Rechercher des sujets similaires à "doublons tirage sort"