IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Nombres aléatoires suivant autre nombre


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut Nombres aléatoires suivant autre nombre
    Bonjour à tous

    Je dois m'occuper de gérer un tournoi de poker. Il y aura 40 participants, répartis sur 10 tables environ. Toutes les 20 minutes, les joueurs seront placés aléatoirement sur l'un des 10 tables.

    Je cherche à développer un petit programme en VBA qui puisse faire ceci.

    A partir du moment ou je l'éxécute, il va me ranger dans Excel :

    Table n° : 2
    joueur 2
    joueur 34
    joueur 12
    joueur 19

    Table n° : 3
    joueur 23
    joueur 4
    joueur 40
    joueur 1

    Je sais comment ranger des valeurs dans des cellules sous Excel, mais pas comment attribuer 4 ou 5 nombres aléatoires sur une table, et ensuite en attribuer d'autres sur d'autres tables (de poker hein ^^), mais que ceux qui ne soit pas réutilisés.

    Comment faire ? :s

    Bonne journée à tous.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Ce qui revient tout simplement à tirer aléatoirement ert sans doublons le nombre de numéros nécessaires puis de les répartir 4 par 4, dans l'odre du tirage !

    Pour ce qui est du tirage aléatoire et sans doublons, j'ai donné très récemment une méthode et un code... (une petite recherche, donc)

  3. #3
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour

    Voici un fichier, avec 40 joueurs, 10 tables (4 par table)

    Choix de joueur aleatoirement, Choix de la table aleatoirement

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Merci ucfoutu, je vais faire une recherche

    Alors là wilfried_42, merci Je vais maintenant l'adapter pour voir si je peux ajouter 10 joueurs et faire sur 5 tables !

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par Jeoffrey54 Voir le message
    Merci ucfoutu, je vais faire une recherche

    Alors là wilfried_42, merci Je vais maintenant l'adapter pour voir si je peux ajouter 10 joueurs et faire sur 5 tables !
    Euh ...

    40 + 10 = 50
    50/5 = 10 joueurs par table ...

    Explique...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Je parlais de modifier le script VBA que m'a donné wilfried_42 de façon à ce qu'il y ait pas 40 joueurs mais 50 !

    A moins que ca ne le fasse tout seul si ej rajoute les 10 joueurs sur Excel ?

    Par contre wilfried, je ne parviens pas à faire ce que je souhaite, c'est à dire modifier ton code VBA de façon a ce qu'il mette 5 joueurs par table et non 4.

    j'ai un plantage quand j'éxécute...

  7. #7
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    Voici la Macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub Bouton1_QuandClic()
        Dim num As Integer, ligne As Integer, colonne As Integer, drapeau As Boolean
        Range("E2:IV100").ClearContents
        Range("B:B").ClearContents
        While Range("C2") = False
            num = Int(Rnd * Range("D4")) + 1
            If Range("B" & num) = False Then
                drapeau = False
                While drapeau = False
                    ligne = Int(Rnd * (Range("D4") / Range("D5"))) + 1
                    colonne = Int(Rnd * Range("D5")) + 1
                    If Cells(1 + ligne, 4 + colonne) = "" Then
                        drapeau = True
                        Cells(1 + ligne, 4 + colonne) = Cells(num, 1)
                        Cells(num, 2) = True
                    End If
                Wend
            End If
        Wend
    End Sub
    Ton fichier en retour

    Il te suffit d'ajouter des tables ou d'en supprimer (Cellules jaunes) et d'ajouter des noms et normalement ca roule

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Merci Wilfried, je viens de tester cette maco, et elle a l'air de marcher.

    Par contre, j'ai eu un bug lorsque j'ai mis 10 tables et 50 joueurs, Excel ne réponds plus :S

  9. #9
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    le deuxieme fichier, ne demande aucune modification de la Macro, il suffit d'ajouter ou de supprimer des noms en colonne A, d'ajouter ou de supprimer des tablles en ligne 1

    Le reste se calcul automatiquement

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Je sais Wilfried, ca marche, mais quand je met 50 joueurs et 10 tables, Excel plante :S

  11. #11
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    une betise de ma part je merite

    j'ai testé sur les tables et nombres de joueur jusqu'à 40, j'ai modifié la macro mais je n'ai pas fait attention à la formule en C2

    metre en C2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI(B:B;VRAI)=NBVAL(A:A)
    Et c'est ok

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Salut Wilfried, je rentre bien ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI(B:B;VRAI)=NBVAL(A:A)
    Dans la cellule C2, mais j'ai toujours un plantage :S

  13. #13
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 59
    Points
    59
    Par défaut
    Bonjour Jeoffrey54,

    J'ai modifié la macro en C2, le nombre de joueurs(jusqu'à 50) et le nombre de tables (jusqu'à 10), puis j'ai lancé la macro
    Et ça marche !!!

    Ci-joint le fichier, version 3
    Bonne journée !
    Toison

  14. #14
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par Toison Voir le message
    Et ça marche !!!
    Un petit clic sur pour le signaler dans la liste des discussions.

  15. #15
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    bonjour à tous

    Il se peut que ca plante en cas de calcul manuel

    à verifier : Menu Outils / Option : Onglet calcul, cocher calcul automatique

    et valider

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    Ah merci, ca marche parfaitement bien

    Et dans le cas ou j'ai plus de 50 joueurs et 12 tables, comment dois-je faire ? :S

  17. #17
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    tu ajoutes les joueurs dont tu as besoin dans la liste colonne A et les tables en ligne 1

    la macro fonctionne mais si le nombre de joueurs / nombre de table ne donne pas un chiffre rond (4 ou 5 ou 6 ou .....), il y a des trous dans les tables (normal)

    exemple : 50 joueurs, 12 tables soit 4,18 joueurs par table donc certaines tables seront à 5 et d'autres à moins

    Le choix du joureur n'est pas le seul critere choisi aleatoirement, la table et la place dans la table sont aussi choisis aleatoirement....

    mais pourquoi ne pas faire des essais .............

    Cordialement

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/02/2012, 10h45
  2. Réponses: 10
    Dernier message: 19/01/2012, 13h56
  3. Réponses: 1
    Dernier message: 02/04/2010, 18h43
  4. Etirer une formule suivant le nombre de ligne d'une autre feuille
    Par S l i d e dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/08/2007, 00h45
  5. Réponses: 16
    Dernier message: 08/03/2006, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo