Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum spécial EXCEL 2007 > Souci de tableur avec chiffre aleatoire
Vous inscrire
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus


Réponse
 
LinkBack Outils de la discussion
Vieux 10/05/2008, 15h33   #16 (permalink)
Spitnolan08
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
Par défaut Re : Souci de tableur avec chiffre aleatoire

Re,
Citation:
Je sais pas si tu as remarqué toi aussi mais pour une formule de chiffres aléatoires il y a une similitude flagrante entre chaque tirage
Similitude, forcément puisque tu n'as que 15 choix maxi par colonne et toujours les mêmes... Mais 2 tirages consécutifs ne sont jamais les mêmes. D'ailleurs, dans mon code, il y a tirage aléatoire des valeurs et des positions des vides. Ce dernier tirage est toutefois fortement contrebalancé par les autres contraintes que tu as fixées.
Citation:
En effet entre les lignes 26 à 29 les numéros son ( inexistant )
Il doit manquer des mots...
Il y a toujours au moins un nombre entre les lignes 26 et 27. Il devrait pouvoir y en avoir 2 mais pas plus, compte tenu de toutes les autres contraintes à gérer. Ou alors il faut s'y prendre d'une façon totalement différente : C'est possible, mais je passe la main...
Par contre, tu as raison : la dernière valeur de chaque colonne est toujours la même Pour y remédier remplace
Code:
k = Lim
par
Code:
k = Lim + 1
Bon week-end
Cordialement

Edit : pas vu MJ13
Citation:
Oui, penser à rajouter randomize avant le tirage (cela me rappelle le jeu trouvez les couleurs!).
Cela ne change rien, il suffit à mon avis de placer randomize en début de procédure comme je l'ai fait.
Edit2 : Sympa ton MasterMind Excel. Je ne l'avais pas vu à l'époque.
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.

Dernière modification par Spitnolan08 10/05/2008 à 16h09.
Spitnolan08 est déconnecté   Réponse avec citation
ANNONCES
Vieux 10/05/2008, 16h51   #17 (permalink)
CoOkii_
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Messages: 48
Par défaut Re : Souci de tableur avec chiffre aleatoire

Merci pour tous les conseils

Pour plus de choix dans la variation des emplacements un code aléatoire par colonne es ce possible ?
Comprenant comme contrainte:

Colonne A
de A1 A30
les cellules a ignoré fixe (A10 ; A15 ;A20 ;A25; A30)
chiffre aléatoire de 1 a 15

Avec çà je fais des c/c pour les autres colonnes et j'ai juste les variations de tranches de chiffres et le changement de colonne a faire.

En regardant les sujets j'ai trouvé quelqu'un qui voulait faire des cartons de loto mais hélas je n'ai pas eu la chance de trouver un code ..Le sujet a été traité par mail en non sur le forum (pas de bol) .
çà m'aurai beaucoup aidé a éditer mon code ou j'aurai tout simplement changé la forme de mon tableau pour adapté mon tableau au code ...

Si vous avez des suggestions n'hésitez pas a ma faire signe.

Cordialement
Co0kii_.
CoOkii_ est déconnecté   Réponse avec citation
Vieux 10/05/2008, 16h54   #18 (permalink)
Spitnolan08
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
Par défaut Re : Souci de tableur avec chiffre aleatoire

Re,

C'est exactement ce que fait mon code... mais en prenant les bonnes tranches de nombre à chaque fois. Donc pas besoin de copier/coller

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 10/05/2008, 23h57   #19 (permalink)
CoOkii_
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Messages: 48
Par défaut Re : Souci de tableur avec chiffre aleatoire

re a tous voila j'ai ne solution au problème il faut tout simplement limiter le nombre de numéro a 9 par lignes

Par contre si je veux changer la forme de mon tableur ou le nombre de chiffre aléatoire comment je trouve les variable a modifier ??

J'ai du mal a trouver les paramètres de la macro :/

Merci d'avance

Cordialement .
Co0ki.
CoOkii_ est déconnecté   Réponse avec citation
Vieux 11/05/2008, 17h21   #20 (permalink)
Spitnolan08
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
Par défaut Re : Souci de tableur avec chiffre aleatoire

re,
Citation:
voila j'ai ne solution au problème il faut tout simplement limiter le nombre de numéro a 9 par lignes
Ca veut dire quoi en clair ?
Une solution à quel problème ?
Pourquoi 9 numéros par ligne change quelque chose

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 11/05/2008, 20h33   #21 (permalink)
CoOkii_
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Messages: 48
Par défaut Re : Souci de tableur avec chiffre aleatoire

Bonjour

En indiquant cette contrainte supplémentaire tu minimises le souci de la distribution des chiffres
Si on regarde les tableurs précédent on voit qu' il y a un manque de chiffre dans les cases du bas meme en indiquant le randomize

soit 8.7 par ligne ou plus précis 35 toutes les 4

Cordialement
Co0kii_
CoOkii_ est déconnecté   Réponse avec citation
Vieux 12/05/2008, 01h00   #22 (permalink)
Spitnolan08
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
Par défaut Re : Souci de tableur avec chiffre aleatoire

Re,

Le manque de nombres dans les lignes du bas n'a rien à voir avec ça...
1/ Le remplissage se fait par colonne
2/ Tu veux que tes colonnes ne contiennent que des séries de 14 ou 15 nombres consécutifs
3/ Tu veux que tes colonnes contiennent au moins le même nombre que ci dessus
3/ Tu veux au moins un blanc par portion
4/ Tu veux au moins un nombre par portion
5/...
6/...

Ce sont toutes ces contraintes qui sont la raison de ce manque de chiffres. Pas le fait d'avoir 5, 9, 15 100 colonnes ni le randomize.

Cordialement
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 16/05/2008, 21h02   #23 (permalink)
CoOkii_
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Messages: 48
Par défaut Re : Souci de tableur avec chiffre aleatoire

Bonjour,

Voila avec la dernière version que tu m'as envoyé je suis bridé sur mes modifications de tableur.
je ne peux ni ignorer une colonne ou plusieur
ni choisir le nombre de chiffre
ni la forme du tableur

La macro fait presque tout ce que je souhaite mais je suis figé sur cette position .
J 'ai peu de connaissance en vba alors serait il possible que quelqu'un puisse a nouveau m'apporter de l aide que je puisse modifier celle ci selon mes besoins.

Cordialement .

Cooki__
CoOkii_ est déconnecté   Réponse avec citation
Vieux 16/05/2008, 23h55   #24 (permalink)
Spitnolan08
XLDnaute Barbatruc
 
Avatar de Spitnolan08
 
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
Par défaut Re : Souci de tableur avec chiffre aleatoire

Bonsoir,
Citation:
avec la dernière version que tu m'as envoyé je suis bridé sur mes modifications de tableur.
je ne peux ni ignorer une colonne ou plusieur
ni choisir le nombre de chiffre
ni la forme du tableur
Cela n'a jamais fait partie du cahier des charges. Mais en analysant le fonctionnement tu peux y arriver.
Citation:
serait il possible que quelqu'un puisse a nouveau m'apporter de l aide que je puisse modifier celle ci selon mes besoins.
Je trouve ça un peu fort de café... C'est toi qui a fixé toutes les contraintes et je les ai respectées...
J'aimerais donc que tu ne sous entendes pas que je n'ai pas répondu à ta problématique ou que j'ai modifié tes souhaits

Ceci étant, je te (vous) donne toutes précisions utiles sur le code ci après pour que tu puisses (vous puissiez) le modifier pour l'adapter à tes NOUVEAUX besoins. Toutes les clés sont là...

Code:
Private Sub CommandButton1_Click()
 '****by SPITNOLAN08 pour Cookii sur XLD
'****Date : 09/05/2008
'****http://www.excel-downloads.com/forum/96340-souci-de-tableur-avec-chiffre-aleatoire.html
Dim Liste As String
Dim i As Integer, j As Integer, r As Integer, q As Integer, k As Integer, Nb As Integer, Lim As Integer
Dim TxDispo As Double
Dim TabloVide(1 To 14, 0 To 7) '***La 1ère dim (0) gère le nombre de vides déjà placés dans la colonne correspondant, les dim (1 à 6) comptabilisent le nombre de vides déjà placés par portion de colonne, la dim (7) compte le nombre de valeurs déjà placées par colonne
Dim TabloValRest(1 To 14, 0 To 1) '***La 1ère dim gère le nombre de valeurs restant à placer dans la colonne correspondant, la 2ème dim comptabilise le nombre de lignes restant à parcourir
Randomize   '***Initialise le générateur de nombre aléatoire

Range("A1:N30").ClearContents
Nb = 0

For j = 1 To 14
    Lim = IIf(j = 1, 14, 15) '***Détermine le nombre de valeurs de chaque colonne
    Nb = Nb + Lim            '***Détermine la valeur la plus élevée pouvant être inscrite dans une colonne
    k = Lim + 1              '***Initialise la variable de choix
    TabloValRest(j, 0) = Lim '***Initialisation du nombre de valeurs maximales pouvant être saisies par colonne
    TabloValRest(j, 1) = 24  '***Initialisation à 24 lignes potentielles du tableau à remplir
    
    For i = Nb To Nb - Lim + 1 Step -1
        Liste = i & "." & Liste        '***Définit la liste des valeurs pouvant être prises dans une colonne
    Next

    For i = 1 To 30
        q = Int(i / 5) + 1    '***Définit dans quelle portion de la colonne on se trouve
        r = i Mod 5           '***Définit sur quelle ligne de la portion de colonne on se trouve
        If r <> 0 Then        '***Ne renseigne pas les lignes qui sont un multiple de 5
            vide = Int((4 * Rnd) + 1)   '***Détermination aléatoire des vides dans chaque portion
            TabloValRest(j, 1) = TabloValRest(j, 1) - 1  '***Actualise le nombre de ligne restant à renseigner par colonne
            TxDispo = (TabloValRest(j, 1) - (7 - q)) / IIf(TabloValRest(j, 0) = 0, -1, TabloValRest(j, 0)) '***Détermine le taux de disponibilité des lignes restantes en fonction du nombre de valeurs. Si ce taux est <= à 1 la ligne ne peut être vide
            '*** Le test suivant se décompose ainsi :
            '*** (Part1.1 and Part1.2)
            '*** Si Le tirage aléatoire de vide est égal à 1 et que le nombre total de vides de la colonne est inférieur à 9 alors ...
            '*** (Part1.1 and Part 1.2) or Part 1.3
            '*** Si ... ou La division du nombre de valeurs restant par le nombre de portions non encore remplies est inférieure à 1
            '*** ce qui signifie qu'il reste au maximum une valeur par portion à placer
            '*** Les conditions précédentes visent à placer des blancs
            '*** ((Part1.1 and Part 1.2) or Part 1.3) and Part 1.4
            '*** Cette dernière condition limite le placement de blanc. En effet si TxDispo >= 1 alors il faut obligatoirement une valeur dans la case actuelle.
            If ((vide = 1 And TabloVide(j, 0) < 9 And TabloVide(j, q) < 3) Or TabloValRest(j, 0) / (7 - q) < 1) And TxDispo > 1 Then
                TabloVide(j, 0) = TabloVide(j, 0) + 1
                TabloVide(j, q) = TabloVide(j, q) + 1
            Else
                If TabloVide(j, 7) < Lim And (r < 4 Or TabloVide(j, q) > 0) Then
                    TabloVide(j, 7) = TabloVide(j, 7) + 1
                    TabloValRest(j, 0) = TabloValRest(j, 0) - 1
                    k = k - 1
                    MyValue = Int((k * Rnd) + 1) '***Détermination aléatoire des valeurs parmi la liste autorisée
                    Tablo = Split(Liste, ".")
                    Cells(i, j) = Tablo(MyValue - 1) '***Transforme la liste en tableau à une dimension
                    Liste = Replace(Liste, Tablo(MyValue - 1) & ".", "", 1, 1) '***Met à jour la liste des valeurs autorisées
                End If
            End If
        End If
    Next i

Next j

End Sub
Bon courage,
Cordialement

Nota : pour une lecture plus aisée, recopier le code dans un module.
__________________
Ne pas oublier d'effectuer une recherche dans les pages "questions-les-plus-frequentes-faq-et-didacticiels" avant de poser une question.
La réponse s'y trouve bien souvent.
Spitnolan08 est déconnecté   Réponse avec citation
Vieux 17/05/2008, 11h40   #25 (permalink)
CoOkii_
XLDnaute Nouveau
 
Date d'inscription: octobre 2007
Messages: 48
Par défaut Re : Souci de tableur avec chiffre aleatoire

Bonjour

Merci pour les descriptif je vais essayer de le moduler néanmoins je demandé tant de regle car j'en avais besoin mais j'vais rien de fixé j'ai juste étendu au maximun le tableau ^^

Merci pour tout je vais travailler dur a présent pour comprendre

Cordialement
Co0kii__
CoOkii_ est déconnecté   Réponse avec citation
ANNONCES
Réponse



Outils de la discussion

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Code PIN aléatoire, sans chiffre répété Grazu Forum Excel 9 13/03/2008 07h57
Petit souci avec VBA Laurence_CH Forum Excel 2 17/02/2008 20h07
générer un chiffre entier unique aléatoire... ludo69006 Forum Excel 2 11/12/2006 14h53
souci avec INDIRECT archi Forum Excel 5 19/07/2006 16h55
créer une liste de chiffre aléatoire jmercanton Forum Excel 11 28/02/2005 20h13


Fuseau horaire GMT +2. Il est actuellement 01h09.


(C) 2006 Excel Downloads