Combinaison possible en 4 variables

Bonjour,

Je travail actuellement sur une façon d'automatiser le calcul du métrage dans les camions de transport.

En effectuant de rapide recherche je me suis rapidement rendu compte que je vais devoir utiliser Excel-VBA.

Comme je suis débutant, j'ai suivi quelques tuto notamment sur ce site et je trouve ça très intéressant.

Pour commencer mon projet, j'aimerais tout d'abord que excel m'affiche toutes les combinaisons possibles en 4 variables qui peuvent chacune prendre des valeurs entières entre [0,10].

Exemple : var_a var_b var_c var_d

0 0 0 0

0 0 0 1

0 0 1 1

ect...

C'est différentes combinaisons seront par la suite injectées dans l'expression suivante :

ml = 0.6*var_a + 0.8*var_b + 0.8*var_c + 1.2*var_d

Problème :

Je n'ai pas réussi à afficher les différentes combinaisons dans les cellules d'une feuille excel.

Pour réussir à calculer ml avec les différentes combinaisons possibles j'ai essayé d'utiliser 4 boucle For de la manière suivante

Dim var_a As Integer, var_b As Interger, var_c As_Integer, var_d As Integer, ml As single

For var_a =0 to 10

For var_b = 0 to 10

For var_c = 0 to 10

For var_d = 0 to 10

ml = 0.6*var_a + 0.8*var_b + 0.8*var_c + 1.2*var_d

ici j'ai essayé d'inclure Cells(...,...) pour m'afficher les résultats dans une colonnes mais c'est ici que ça bloque car j'ai un message d'erreur (Si je me souviens bien le code erreur est 1041)

Next

Next

Next

Next

Voila, si quelqu'un peut m'aider ça serait vraiment gentil

Merci

Bonjour hboughilas et bienvenue sur le forum,

Peux-tu inclure ton fichier avec le code entier que tu as essayé?

C'est dommage car la seule partie qui plante dans ton code est la partie que tu ne donnes pas sur le forum ^^

PS: merci de mettre ton code dans les balises prévues à cet effet. (bouton "Code")

Concernant ta demande, cela devrait corriger le probleme:

Dim numPoss as Long
'on écrit les possibilités dès la premiere ligne
numPoss = 1

For var_a = 0 to 10
    For var_b = 0 to 10
        For var_c = 0 to 10
            For var_d = 0 to 10
                ml = 0.6*var_a + 0.8*var_b + 0.8*var_c + 1.2*var_d
                Cells(numPoss,1).Value = var_a
                Cells(numPoss,2).Value = var_b
                Cells(numPoss,3).Value = var_c
                Cells(numPoss,4).Value = var_d
                Cells(numPoss,5).Value = ml
                numPoss = numPoss + 1
            Next
        Next
    Next
Next

Bonjour,

Merci d3d9x, votre code fait exactement ce que je souhaitais.

Je n'ai pas l'habitude de travailler sur du VBA, je ne savais pas comment copier coller directement le code sur excel pour le poster sur le forum

En fait je réalise actuellement un stage dans la logistique et le but d'un de mes projets est d'automatiser le calcul du métrage linéaire lors des demandes d’affrètements pour pouvoir comparer avec ce que le transporteur nous dit (voir si on se fait pas avoir )

Du coup l'objectif de ce petit projet est de calculer le métrage en fonction du nombre de palettes à envoyer.

Je travaille avec 2 types de formats : des palettes 120*80 et 80*60

Au début cela parait simple à réaliser mais en réalité je trouve que le projet est assez compliqué à automatiser. Il y a énormément de cas envisageables :

_ les palettes peuvent être positionner soit en longueur soit en largeur (normalement le transporteur les positionne pour qu'elles prennent le moins de place possible)

_ les palettes peuvent être gerbables ou non gerbables (superposable ou pas)

_ à partir d'un certain poids on ne peut plus charger

_ on se limite à un semi (cad 13.5m de long et 2.4m de large)

Si j'ai bien cerner le sujet j'ai comme variables d'entrer :

_le nombre de palettes 80*60

_le nombre de palettes 120*80

_le poids total du chargement

En sortie le top serait d'avoir :

_Le métrage linéaire min possible avec ma combinaison de palettes

_faire représenter la position des palettes sur un schéma serait un plus

La pour le moment je n'en suis qu'au début du projet, grâce à vous j'ai réussi à obtenir toute le combinaisons possible pour un résultat de ml donné.

Pensez-vous que c'est réalisable avec excel ?

Si vous avez des conseils à me donner je suis preneur.

Je suis débutant en VBA mais j'ai quelques notions de C++ j'ai pu remarqué que les logiques sont les mêmes à la syntaxe près.

Rechercher des sujets similaires à "combinaison possible variables"