Vos conseils

Bonjour tout le monde,

Je n'arrive pas a trouver une solution dans le forum, ni dans les cours vba, ou alors je ne comprends tout simplement pas...

Je souhaiterai condenser une partie de code, dont je vous donne exemple, il me semble que ce qui tourne autour de ARRAY serait ma solution, mais j'avoue ne rien y comprendre.

With Me.ComboBox1
    For j = 2 To Sheets("AMMORTISSEMENT").Range("B" & Rows.Count).End(xlUp).Row
      .AddItem Sheets("AMMORTISSEMENT").Range("B" & j)
    Next j
  End With

   With Me.ComboBox2
    For j = 2 To Sheets("RENOUVELLEMENT").Range("B" & Rows.Count).End(xlUp).Row
      .AddItem Sheets("RENOUVELLEMENT").Range("B" & j)
    Next j
  End With

  With Me.ComboBox3
    For j = 2 To Sheets("STOCKSQ").Range("B" & Rows.Count).End(xlUp).Row
      .AddItem Sheets("STOCKSQ").Range("B" & j)
    Next j
  End With

  With Me.ComboBox4
    For j = 2 To Sheets("STOCKSNQ").Range("B" & Rows.Count).End(xlUp).Row
      .AddItem Sheets("STOCKSNQ").Range("B" & j)
    Next j
  End With
........
.....
...
..

Merci d'avance a tous

Bonjour

Comme ceci

TabFeuille = Array("AMMORTISSEMENT", "RENOUVELLEMENT", "STOCKSQ", "STOCKSNQ")

For i = LBound(TabFeuille) To UBound(TabFeuille)

    For j = 2 To Sheets(TabFeuille(i)).Range("B" & Rows.Count).End(xlUp).Row
      Me.Controls("Combobox" & i + 1).AddItem Sheets(TabFeuille(i)).Range("B" & j)
    Next j

Next i

Bonsoir et bienvenu(e)

Bonsoir Habitude

Pour 4 contrôles le code que tu as peut aller

Une autre méthode

Dim LesFeuilles
Dim I As Integer, J As Long

  LesFeuilles = Array("AMMORTISSEMENT", "RENOUVELLEMENT", "STOCKSQ", "STOCKSNQ")
  For I = 0 To UBound(LesFeuilles)
    With Sheets(LesFeuilles(I))
      For J = 2 To .Range("B" & Rows.Count).End(xlUp).Row
        Me.Controls("ComboBox" & I + 1).AddItem .Range("B" & J)
      Next J
    End With
  Next I

Superbe quelle réactivité j'adore, je vous remercie a tous les deux.

Il ne s'agit pas seulement de 4 contrôles, mais d'une flopée .

Mes contrôles de 5 a 17 attaquent la même feuille "VARIABLE"

Est ce possible de les intégrer au tableau ARRAY ?

Bonsoir

Il suffit de trouver quelque chose de commun

Ton fichier va être utile, tu y notes les correspondances entre les contrôles et les colonnes de la page "VARIABLE"

Bonsoir à tous

Effectivement avec un fichier, ça serait plus simple.

Nécessiterais l'imbrication de 3 boucles à mon avis.

Pour les feuilles, les colonnes ainsi que les contrôles.

Une feuille paramètres pourrait également être envisagée.

Rechercher des sujets similaires à "conseils"