VBA, Afficher tt combinaisons depuis listes?

Résolu/Fermé
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010 - 16 nov. 2010 à 12:25
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010 - 16 nov. 2010 à 17:14
Bonjour,
J'aurais besoin d'une liste reprennant toutes les combinaisons possibles afin de pouvoir effectuer des calculs dessus par apres. Voici la sitation.

J'ai 3 listes d'éléments constituants un mur:
5 types de parements extérieurs (PE)
10 types de matériaux porteurs (MP)
15 types d'isolants. (I)

J'aimerais qu'une macro m'affiche toutes les possibilités de combinaisons :

A B C
PE1 MP1 I1
PE1 MP1 I2
---
PE1 MP1 I15

PE1 MP2 I1
Et ainsi de suite. (750 possibilités si je me trompe pas)

Auriez-vous une idée du code qui pourrait réaliser cette liste?

Cordialement,

Tartino
A voir également:

5 réponses

re,

Voila le code à coller dans une macro; à adapter si le nom des feuilles ne correspond pas:

Dim i As Integer, j As Integer, k As Integer, z As Integer 
z = 0 
For i = 1 To 5 
    For j = 1 To 10 
        For k = 1 To 15 
        z = z + 1 
        Worksheets("feuil2").Cells(z, 1) = Worksheets("feuil1").Cells(2 + i, 2) 
        Worksheets("feuil2").Cells(z, 2) = Worksheets("feuil1").Cells(7 + j, 2) 
        Worksheets("feuil2").Cells(z, 3) = Worksheets("feuil1").Cells(17 + k, 2) 
        Next k 
    Next j 
Next i


Cordialement
1
Bonjour

les éléments sont au départ dans quelles cellules? (s'il s'agit d'Excel) et le résultat doit s'afficher où?
sinon pas de difficultés!

A+
0
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
Modifié par tartino le 16/11/2010 à 13:10
J'ai une page excel avec la liste des matériaux ainsi que certaines caractéristiques.
1ere colonne : Nom global (PE, SP, I)
2eme : Nom matériau
suivantes : caractéristiques

Le résultat attendu serait 3 colonnes dans la page 2 du classeur
1ere colonne : le parement
2eme : la structure
3eme : l'isolant

chaque ligne représentant une combinaison des 3.

Tartino
0
j'ai bien compris le résultat à obtenir.

Mais pour afficher en feuille 2, il faut savoir ou sont les données que l'on va combiner
par exemple
les parements sont en feuille 1 de A1 à A5
les structures de de B1 à B10
...
0
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
16 nov. 2010 à 13:19
Pour le moment j'ai
les Parements en B3:B7
les Structures B8:B17
les Isolants B18:B33

Dans un premier temps peux-tu me proposer une solution en partant de ce cellules fixes.

Cepandant ces listes pouraient changer par la suite. Serait-il possible de faire executer la macro à partir du nom des listes (insertion/name/define)

merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
16 nov. 2010 à 13:42
Merci beaucoup ca marche (en tout cas dans un nouveau classeur. Je vais l'intégrer dans ma macro déjà existante.)

Une dernière question, si je veux ajouter un calcul pour chaque ligne il faut bien que je l'ajoute avant le "nextk" n'est ce pas?

Bien-à-toi et avec mes remerciement,

Tartino.
0
Si tu as une action à faire pour chaque ligne de résultat, c'est effectivement entre for k... et next k
Bon courage!
0
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
16 nov. 2010 à 13:54
Merci pour ton temps et ton aide précieuse.
0
Je planche pour utiliser les nom de liste, pas fini mais possible!
0
tartino Messages postés 8 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 18 novembre 2010
16 nov. 2010 à 17:14
Ok, ma macro le donne exactement ce qu'il me faut grace à ton aide. Mais j'aimerais que grace a une listbox multi la liste des materiaux élegibles a la macro soit modifiable directement.

Mais bon ne te casse pas les dents dessus non plus j'ai quelques idée pour la suite je verrai bien.

bonne semaine a toi.
0