Générer une liste de combinaisons

nohrad

XLDnaute Nouveau
Bonjour,

J'ai un classeur Excel avec trois feuilles. Chacune de ses feuilles comprend une liste d'identifiants en première colonne sous forme "AAA" ou "A00". L'objectif est de pouvoir générer automatiquement dans une quatrième feuille l'ensemble des combinaisons d'identifiants de la forme "AAA-BBB-CCC" (AAA, identifiants du feuillet 1, BBB = feuillet 2, CCC = feuillet 3).

J'ai pensé à faire une boucle en VBA mais j'avoue que je suis un peu perdu.

Si quelqu'un peut m'aider ???

Merci :)
 

Looolo76

XLDnaute Nouveau
Re : Générer une liste de combinaisons

Ah ok, au temps pour moi...

donc voilà le fichier réel: 4 feuilles de listes.

merci encore pour avoir réagi aussi vite!..

bonne nuit et à bientôt,
Laurent
 

Pièces jointes

  • Combinaisons 3 feuilles (4).zip
    11.9 KB · Affichages: 38
  • Combinaisons 3 feuilles (4).zip
    11.9 KB · Affichages: 37
  • Combinaisons 3 feuilles (4).zip
    11.9 KB · Affichages: 40

job75

XLDnaute Barbatruc
Re : Générer une liste de combinaisons

Bonjour Looolo76, le forum,

Je vous ai fait le travail avant de partir.

Ce n'est pas compliqué : il faut autant de boucles que de listes, sans oublier de compléter la ligne :

tablo(col, lig) = txt1 & "-" & txt2 & "-" & txt3 & "-" & txt4

Chez moi (Excel 2003) la durée du traitement est de 13 s.

Vous devriez être capable de vous débrouiller pour 5 listes je pense :)

A+
 

Pièces jointes

  • Looolo76(1).zip
    13.1 KB · Affichages: 42

Looolo76

XLDnaute Nouveau
Re : Générer une liste de combinaisons

Bonjour Job75,

Merci beaucoup!!!
en fait,oups!, je suis désolé, mais je vous ai envoyé un fichier avec une macro qui donne les résultats en tableau. or je souhaitais les résultats sur une seule colonne..
est-ce possible de retoucher la macro dans ce sens?
bon j'espère que je ne vous en demande pas trop ..:)

merci,
Laurent
 

job75

XLDnaute Barbatruc
Re : Générer une liste de combinaisons

Bonsoir Laurent,

en fait,oups!

Tout petit gémissement, à votre place j'aurais dit Arrrrrrrrrrrrrrghhhhhhhhh !!!

Avec votre fichier, il y a 241380 combinaisons à afficher.

Sur une seule colonne il faut bien sûr Excel 2007 ou 2010.

C'est le moment d'acheter une nouvelle version si vous êtes sur Excel 2003.

J'ai revu la macro sur mon portable avec Excel 2010, voir fichier .xlsm joint.

A+
 

Pièces jointes

  • Looolo76(2).xlsm
    26.8 KB · Affichages: 71

Looolo76

XLDnaute Nouveau
Re : Générer une liste de combinaisons

Bonsoir Job 75!

Merci!
mais la macro ne marche pas sur mon pc.

Il est écrit dans le message d'erreur:
" Run-time error '1004' Method 'Range' of object '_Global' failed

le debugger indique ensuite la ligne en cause: Range("A2:A" & n + 1) = tablo

peut-être est-ce du justement à ma version ancienne d'excel??

Merci....
Bonne soirée
 

job75

XLDnaute Barbatruc
Re : Générer une liste de combinaisons

Bonjour Laurent, le forum,

peut-être est-ce du justement à ma version ancienne d'excel??

Certainement, regardez le nombre de lignes de votre feuille Excel :rolleyes:

Par ailleurs, en écrivant la macro du post #20, je me suis rendu compte que Application.Transpose posait problème sur Excel 2010.

Cette fonction ne permet pas d'obtenir des tableaux transposés de plus de 65536 lignes.

J'ai donc revu la macro pour qu'elle puisse s'appliquer à toutes les versions, avec la possibilité théorique d'occuper toutes les cellules de la feuille.

Des OptionButtons permettent aussi de remplir la feuille par ligne ou par colonne.

Voir les 2 fichiers joints (pour Excel 2003 et 2010). Le nombre de combinaisons est 1 200 000.

Sur mon ordi portable avec Excel 2010 => 8 à 10 secondes sur chaque fichier.

Sur mon (vieil) ordi fixe avec Excel 2003 => 5 à 6 minutes.

Edition : j'ai modifié la macro, il manquait le 1er Cdbl...

A+
 

Pièces jointes

  • Combinaisons 2 stockages XL2003(1).zip
    22.3 KB · Affichages: 27
  • Combinaisons 2 stockages XL2003(1).zip
    22.3 KB · Affichages: 28
  • Combinaisons 2 stockages XL2003(1).zip
    22.3 KB · Affichages: 28
  • Combinaisons 2 stockages XL2010(1).zip
    31.9 KB · Affichages: 38
Dernière édition:

Looolo76

XLDnaute Nouveau
Re : Générer une liste de combinaisons

Wooowwwww!!!

1 200 000 combinaisons....en 7 min sur moin vieil ordi excel 2003!
Ca donne envie de passer à du matériel plus récent tout de même..:)

c'est grandiose en tous cas!

merci encore pour toute cette aide! génial..

Très bonne soirée,
Laurent
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T