Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 boucles for imbriquées

meamandine

XLDnaute Nouveau
Bonsoir, je suis débutante en VBA et je cherche une solution pour écrire plusieurs boucles for imbriquées (360 variables ) et ayant le même début et fin pour avoir toutes les combinaisons possibles de ces variables .
est- ce- que quelqu'un aurait une solution svp?
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Il faudrait surtout nous dire quels calculs sont effectués avec ces valeurs pour aboutir aux résultats à optimiser.
Ou mieux: mettre les formules qui les calcule à partir de valeurs arbitraires et laisser le Solveur minimiser ce résultat.
 
Dernière édition:

meamandine

XLDnaute Nouveau
Ce que je veux faire c'est avoir ces combinaisons dans une feuille, calculer le coût et le rendement pour chaque ligne à l'aide d'une formule excel et ensuite construire un graphe (rendement, coût) mais là je suis bloqué au début !!
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Une dernière proposition, et je me désabonne définitivement de cette discussion.
VB:
Option Explicit
Sub Test()
   ListeCombi ActiveSheet.[B2].Resize(2000, 4), NbVal:=11, _
      Pas:=200000, SMin:=300000, SMax:=1000000
   End Sub
Sub ListeCombi(ByVal RngCible As Range, ByVal NbVal As Long, ByVal Pas As Double, ByVal SMin As Double, ByVal SMax As Double)
   Dim T(), TC() As Double, L As Long, C As Long, N As Long, Q As Long, R As Long, S As Double, V As Double
   ReDim TC(2 To RngCible.Columns.Count), T(1 To RngCible.Rows.Count, 1 To RngCible.Columns.Count)
   N = -1
   Do: N = N + 1
      Q = N: S = 0
      For C = UBound(T, 2) To 2 Step -1
         R = Q Mod NbVal
         V = Pas * R
         TC(C) = V
         S = S + V
         Q = Q \ NbVal: Next C
      If S = 0 And N > 0 Then Exit Do
      If S >= SMin And S <= SMax Then
         L = L + 1: T(L, 1) = N
         For C = 2 To UBound(TC): T(L, C) = TC(C): Next C
         End If
      Loop Until L >= UBound(T, 1)
   RngCible.Value = T
   End Sub
Faites attention: Votre prochaine réponse pourrait même me conduire à vous ajouter aussitôt à ma liste d'ignorés
 

Discussions similaires

Réponses
4
Affichages
190
Réponses
12
Affichages
351
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…