Recopie de cellules vers d'autres mais aléatoirement

Résolu
marcusse22 Messages postés 5 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

pour organiser des tournois de cartes se jouant a 4.

je souhaite inscrire plusieurs pseudos dans une colonne.
je sélectionne les cellules
je clique sur un bouton "tri" et les pseudos s inscrivent de façon aléatoire par table

Pseudo 1 Table1
Pseudo 2 Pseudo 1 Pseudo 8
Pseudo 3 Pseudo 4 Pseudo 7
Pseudo 4 Tri
Pseudo 5 Table 2
Pseudo 6 Pseudo 2 Pseudo 6
Pseudo 7 Pseudo 3 Pseudo 5
Pseudo 8

Si quelqu un peut m aider, je serais super content !!! merci

9 réponses

  1. marcusse22 Messages postés 5 Statut Membre
     
    oui merci c est exactement le principe que je souhaite mais le probleme est que je ne sais comment faire fonctionner ce tableau.
    je n ai pas besoin de la colonne aleas ni rangs et si je les supprime il y aurait erreur.

    comment faire pour que le deploiement se fasse ? je suis sur exel 2010.
    merci
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Les colonnes aleas et rangs ne doivent pas être supprimée mais peuvent être tout simplement masquées
    Pour faire fonctionner ce tableau
    1. Tu entres la liste des noms en colonne A
    2. J'ai arrêté les formules (colonnes B et C) à la ligne 41, donc
    Si tu as plus de 40 noms, tu tires ces formules vers le bas. Le nombre de tables sera alors plus grand que 10 donc tu tires les formules de la plage Q1:Q6 vers la droite
    3. Tu choisis oui en E2 pour un nouveau tirage, s'il ne te plait pas F9 pour un nouveau et quand il te convient tu choisis non en E2 pour bloquer ce tirage

    Il ne devrait pas y avoir de problème sous Excel 2010
    Ne pas oublier de faire ça
    1. plages à nommer
    listejoueurs=DECALER(Feuil1!$A$1;1;0;NBVAL(Feuil1!$A:$A)-1;1)
    listealeas=DECALER(Feuil1!$A$1;1;1;NBVAL(Feuil1!$A:$A)-1;1)
    listerangs=DECALER(Feuil1!$A$1;1;2;NBVAL(Feuil1!$A:$A)-1;1)
    2. Outils/option/Calcul
    cocher itération et mettre 1 comme nombre maxi d'itérations

    Cdlmnt
    0
  3. marcusse22 Messages postés 5 Statut Membre
     
    oui ca y est ca fonctionne exactement comme je voulais.
    merci bcp
    donc j ai masque les 2 colonnes et en fait j ai fait F9..
    c est tout
    et ca marche !!

    merci en encore

    j ose te demander une derniere chose : est il possible de remplacer F9 par une case a cliquer car j envisage de creer une appli apk pour tablette et je ne crois pas que F9 fonctionnerait...
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    On peut lancer un recalcul avec un double ckic par exemple sur la cellule "nouveau". Le code à mettre dans le module de la feuille

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("E1")) Is Nothing Then
    If Range("E2").Value = "oui" Then
    Range("A1").Select
    Application.Calculate
    End If
    End If
    End Sub

    On peut aussi attacher ce code à un bouton : if Range("E2") .... end if (si tu fais ça, choisis un bouton dans la boite à outils contrôles)

    Bon tournoi
    0
  6. marcusse22 Messages postés 5 Statut Membre
     
    merci pour ta reponse mais non je n y arrive pas :

    je suis alle dans developpeur / inserer / controle active x /
    j obtiens un bouton de commande (command button1)
    qd je double clic dessus s ouvre alors une fenetre vb et je colle entre les 2 lignes presentes les commandes que tu m as donnees :

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("E1")) Is Nothing Then
    If Range("E2").Value = "oui" Then
    Range("A1").Select
    Application.Calculate
    End If
    End If
    End Sub

    Mais qd je retourne dans la feuille exel, qd je double clique sur mon bouton je reviens aux lignes de code mais je n ai pas l equivalent de F9

    merci
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Pas tout à fait ça
    Le code du bouton (que j'ai nommé btNouveau - pour le faire : clic-droit sur le bouton/propriétés/Name)

    Private Sub btNouveau_Click()
    If Range("E2").Value = "oui" Then
    Range("A1").Select
    Application.Calculate
    End If
    End Sub


    Je te joins le fichier complet
    https://www.cjoint.com/?3BgudicKE21
    où tu peux lancer un nouveau tirage soit
    - avec le bouton (code ci dessus)
    - soit avec un double-clic sur la cellule E1 (Sub Worksheet_BeforeDoubleClick)

    Bonne soirée
    0
  8. marcusse22 Messages postés 5 Statut Membre
     
    merci beaucoup c est super sympa !!!
    0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien

    Si c'est fini, merci de mettre le sujet à Résolu (en haut à droite de ton premier message)

    Bonne soirée
    0