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

XL 2016 boucles for imbriquées

  • Initiateur de la discussion Initiateur de la discussion meamandine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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:
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 !!
 
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 😡
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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