|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Bonjour,
Je cherche un code vba pour lister toute les combinaisons possibles en permuttant : 1 2 3 4 5 6 7 8 9 et 10. Puis les mettre dans un tableau Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
Bonjour,
Je pense que tu peux trouver la réponse par toit même ![]() *exercice du prof ?* faire tourner un exemple de résultat à la main, essaye avec:
Reviens nous voir *avec un minimum de résultats* et on te dira si ça va. PS: Fait tes liste de chiffres dans un ordre logique (ex: commence par les 1, puis les 2, ...) |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Merci pour le tuyau, mais j'avais commencé à faire quelque chose du genre...
Et j'ai lu qu'il y a avait moyen de le faire avec une fonction récursive. Ca serait plus "propre"... Toutefois, merci pour le tuyau, je vais continuer à chercher PS: Et non, j'ai 31 ans, c'est pas un exercice du prof. Je dev une macro excel qui doit tester un grand nombre de possibilités (3 628 800 dans le cas présent si mes calculs sont bons) pour donner un meilleur choix d'emplacement. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
C'est un langage VBA du coup, et non vb.net
![]() le soucis peut très bien être réglé sur ce fofo puisque c'est un algo dont tu a besoin, le langage derrière est générique (Boucle For, test IF, ...) PS: à titre d'info, tout ce qui est macro Excel c'est dans: Office->Excel->Macros VBA Excel PPS: J'attends ta suite |
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Exact, c'est pour ca que j'ai posté ici.
Je me suis dit (peut-être à tord) qu'il y aurait plus de monde sur le fofo vb.net apte à me fournir une solution. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
Je suis en train de regarder pour "faire propre" avec la fonction récursive,
mais j'ai un doute qu'on puisse le faire aussi facilement que pour la Factorielle *grand classique des fonctions récursives* étant donné que tu veux sortir des tableaux, si on joue avec la récursivité, on va se galerer, il faut:
je pense que ce que je te propose c'est de faire une fonction à la mano "pas propre", et si tu veux on essayera de plancher sur une fonction un peut plus évoluer *dite récursive* |
|
|
10
|
|
|
#7 |
|
Expert Confirmé
![]() Philippe ex Observeur CGG / Analyste prog. Inscription : juin 2006 Messages : 1 708 ![]() |
Salut, une simple recherche sur le site devrait être suffisante : http://www.google.fr/#sclient=psy-ab...w=1027&bih=719
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )Balisez votre code après l'avoir indenté sous Excel via Smart Indenter Autre utilitaire : MZ Tools 3.0 VBA Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 |
|
|
10
|
|
|
#8 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
Tes solutions fonctionnent pour des valeur à 2 chiffres,
mais je n'ai pas trouvé d'exemples qui nous montrent comment faire avec des valeurs à 10 chiffres |
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Merci kiki29
, je suis tombé sur pas mal de lien que j'avais déjà consulté, toutefois, je pense avoir trouvé une bonne piste pour coder ma fonction récursive ici :Citation:
Reste maintenant à en tirer le code...
|
|||
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
De retour tontonced
Je ne te serrai pas d'une grande aide, il y a une partie importante que je ne comprend pas ... Citation:
et qu'est-ce qu'il entend par "arrangement" ------------------------------------------------------------------- Tu aura besoin de faire d'autre liste de chiffres comme ça? ou c'est quelque chose d’exceptionnel? |
|
|
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
J'osais pas dire que c'était pas clair... Mais j'ai le même problème pour comprendre que toi
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
humm c'est une autre approche qui consiste à ajouter un chiffre avant et après chaque chiffre qui est dans le nombre.
.............123 ........../ .......12 - 132 ....../....\ ..../.......312 ..1 ....\.......213 ......\.../ .......21 - 231 ..........\ ...........321 Je vois bien la partie récursive mais alors comment coder .... *j'en fait pas tous les jours...* je peux te donner un code qui va le faire mais ce serra que pour ton cas à 10chiffres |
|
|
10
|
|
|
#13 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Donne donne...
en attendant mieux |
|
|
00
|
|
|
#14 | ||
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
désolé pour le retard, petit contre temps.
bon pour ton code, Code :
je l'ai pas testé mais c'est pour te donner un aperçu de la méthode à laquelle je pense. PS: attention pour cette routine tu a besoin de considérer tes chiffres comme des lettres |
||
|
|
00
|
|
|
#15 | |||||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 899 ![]() |
Bonjour,
Une autre méthode qui peut être te conviendra Ici on boucle sur 3 niveaux, mais le principe reste le meme sur x niveaux (par contre, pour la restitution faire attention au nombre de lignes Code :
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||||
|
|
00
|
|
|
#16 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Peut être quelque chose dans ce gout la Code :
Autre problème posé par mon code: je viens de voir que le 1 sera toujours présent, puis le 2... puis le 3, il n'y a donc pas toutes les solutions... il faudrait refaire appelle au code 10 fois en réduisant la borne de départ a chaque fois. de 1à10 puis de 2à10...jusqu'à 9à10, il suffit de mettre une boucle de plus dans la sub utilisation, je te laisse tester, je n'ai pas trop le temps ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
10
|
|
|
#17 |
|
Invité régulier
![]() Inscription : octobre 2008 Messages : 2 ![]() |
Bonsoir à tous,
Vois l'algorithme de Jonhson-Trotter version VBA proposé par fred65200 dans ce lien. http://www.developpez.net/forums/d42...ne-charactere/ Tu listeras les 3 628 800 permutations : factorielle de 10 Klin89 |
|
|
20
|
|
|
#18 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 7 ![]() |
Beaucoup de réponse à étudier (j'étais parti en vacances quelques temps)...
Merci à tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com