Bseoin d'aide en VBA
laurence17
-
Ah que coucou! -
Ah que coucou! -
Bonjour,
Voici mon problème:
Je dois faire la combinaison de composantes et je ne sais pas le programmer en VBA
J'ai "la matrice" (de 2 lignes et de 6 colonnes) suivante:
A B C D E F
G H I J K L
Je dois composer toutes les combinaisons de composantes par colonne possibles; c'est à dire 2^6=64 combinaisons.
J'aimerais le programmer et afficher ces 64 combinaisons dans une feuille excel.
Pouvez-vous m'aider?
Merci d'avance.
Voici mon problème:
Je dois faire la combinaison de composantes et je ne sais pas le programmer en VBA
J'ai "la matrice" (de 2 lignes et de 6 colonnes) suivante:
A B C D E F
G H I J K L
Je dois composer toutes les combinaisons de composantes par colonne possibles; c'est à dire 2^6=64 combinaisons.
J'aimerais le programmer et afficher ces 64 combinaisons dans une feuille excel.
Pouvez-vous m'aider?
Merci d'avance.
A voir également:
- Bseoin d'aide en VBA
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
salut
pourquoi pas en fonctions excel tout simplement ? pourquoi s'embêter la vie avec le VBA alors qu'avec LIGNE() et COLONNE() tu peux tout à fait calculer simplement ces 36 combinaisons voire 64 arrangements ?
pourquoi pas en fonctions excel tout simplement ? pourquoi s'embêter la vie avec le VBA alors qu'avec LIGNE() et COLONNE() tu peux tout à fait calculer simplement ces 36 combinaisons voire 64 arrangements ?
exemple: ton tableau 2x6 est en C18 et que tu mets la matrice 6x6 en D3
mets en D3 =DECALER($C$18;0;COLONNE()-4;1;1)&DECALER($C$18;1;LIGNE()-3;1;1)
et tu répliques ça dans une matrice 6x6
le $C$18 est la référence à la cellule d'origine de ta matrice 2x6
le 4 retranché à colonne() est là pour compenser le décalage depuis la colonne D
le 3 retranché à ligne() est là pour compenser le décalage depuis la ligne 3
ces trois valeurs seront à modifier quand le tableau 2x6 et la matrice résultat seront déposés ailleurs
les 2 derniers 1 de chaque decaler désignent la surface à décaler (à chaque fois 1 ligne x 1 colonne)
mets en D3 =DECALER($C$18;0;COLONNE()-4;1;1)&DECALER($C$18;1;LIGNE()-3;1;1)
et tu répliques ça dans une matrice 6x6
le $C$18 est la référence à la cellule d'origine de ta matrice 2x6
le 4 retranché à colonne() est là pour compenser le décalage depuis la colonne D
le 3 retranché à ligne() est là pour compenser le décalage depuis la ligne 3
ces trois valeurs seront à modifier quand le tableau 2x6 et la matrice résultat seront déposés ailleurs
les 2 derniers 1 de chaque decaler désignent la surface à décaler (à chaque fois 1 ligne x 1 colonne)