![]() |
|
Forum
|
|
|
#16 (permalink) | |||
|
XLDnaute Barbatruc
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
|
Re,
Citation:
Citation:
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 Code:
k = Lim + 1 Cordialement Edit : pas vu MJ13 ![]() Citation:
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. |
|||
|
|
|
| ANNONCES | |||
|
|
|
|
#17 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 48
|
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_. |
|
|
|
|
|
#18 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
|
Re,
C'est exactement ce que fait mon code... mais en prenant les bonnes tranches de nombre à chaque fois. Donc pas besoin de copier/collerCordialement
__________________
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. |
|
|
|
|
|
#19 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 48
|
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. |
|
|
|
|
|
#20 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
|
re,
Citation:
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. |
|
|
|
|
|
|
#21 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 48
|
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_ |
|
|
|
|
|
#22 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
|
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. |
|
|
|
|
|
#23 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 48
|
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__ |
|
|
|
|
|
#24 (permalink) | ||
|
XLDnaute Barbatruc
Date d'inscription: décembre 2006
Version Excel : Excel 2003 (PC)
Messages: 2 262
|
Bonsoir,
Citation:
Citation:
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
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. |
||
|
|
|
|
|
#25 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: octobre 2007
Messages: 48
|
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__ |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
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 |