Boucle FOR imbriquées

  • Initiateur de la discussion Initiateur de la discussion boudha74
  • 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 !

B

boudha74

Guest
Bonjour à tous,

j'ai besoin d'aide sur l'imbrixation de 2 boucles qui ne fonctionne pas.

Code:
Private Sub ComboBox_MAGASIN_Change()
'&&&&&&&&&&&&&&&&&   INITIALISE LES DONNEES DANS LA COMBOBOX &&&&&&&&&&&&&&&&&&&&

Dim u As Integer
For u = 2 To 7

Dim lettre As Variant
For t = 0 To 5
lettre = Array("A", "B", "C", "D", "E", "F")
t = lettre(t)

Me.Controls("Txt_Config_ETATCIVIL" & u).Value = Sheets("Config").Range(t & ComboBox_MAGASIN.ListIndex + 6).Value

Next
Next
End Sub

Merci de votre aide
 
Re : Boucle FOR imbriquées

bonjour boudha

teste ceci

Code:
Private Sub ComboBox_MAGASIN_Change()
'&&&&&&&&&&&&&&&&&   INITIALISE LES DONNEES DANS LA COMBOBOX &&&&&&&&&&&&&&&&&&&&
Dim u As Integer
Dim lettres As Variant
lettres = Array("A", "B", "C", "D", "E", "F")
For u = 2 To 7
  For t = 0 To 5
    lettre = lettres(t)
    Me.Controls("Txt_Config_ETATCIVIL" & u).Value = Sheets("Config").Range(lettres & ComboBox_MAGASIN.ListIndex + 6).Value
  Next
Next
End Sub
 
Re : Boucle FOR imbriquées

Bonjour PierreJean,

merci pour ta reponse eclair, malheureusement cela ne fonctionne pas' "erreur d incompatibilité de type 13".

Ci dessous le code qui fonctionne et que je veux transformer en boucle pour que tu comprennes mieux. Peut être je fais erreur des le début.

Code:
Txt_Config_ETATCIVIL2.Value = Sheets("COnfig").Range("A" & ComboBox_MAGASIN.ListIndex + 6).Value
Txt_Config_ETATCIVIL3.Value = Sheets("COnfig").Range("B" & ComboBox_MAGASIN.ListIndex + 6).Value Txt_Config_ETATCIVIL4.Value = Sheets("COnfig").Range("C" & ComboBox_MAGASIN.ListIndex + 6).Value
Txt_Config_ETATCIVIL5.Value = Sheets("COnfig").Range("D" & ComboBox_MAGASIN.ListIndex + 6).Value
Txt_Config_ETATCIVIL6 = Sheets("COnfig").Range("E" & ComboBox_MAGASIN.ListIndex + 6).Value
Txt_Config_ETATCIVIL7.Value = Sheets("COnfig").Range("F" & ComboBox_MAGASIN.ListIndex + 6).Value

merci pour ton aide
 
Re : Boucle FOR imbriquées

Bonjour,

Je me trompe peut-être, mais il m'a l'air possible de ne manipuler qu'une seule boucle.

Quelque chose comme ça:
Code:
    Dim t as integer
    Dim Ligne_Index as long
    Ligne_Index = ComboBox_MAGASIN.ListIndex + 6
    For t = 1 to 6
        Me.Controls("Txt_Config_ETATCIVIL" & cstr(t + 1)).Text = Sheets("Config").cells(Ligne_Index, t).Value
    Next t

A tester, mais ça devrait marcher (juste un vague doute sur le Me.Controls, je m'en suis déjà servi, mais ça remonte à loin).

Pas sûr de mon coup pour le Me.Controls.

Donc autre solution, avec une boucle sur les controles du formulaire:
Code:
    Dim t as integer
    Dim Ligne_Index as long
    Ligne_Index = ComboBox_MAGASIN.ListIndex + 6
    
    Dim o_Control As Control
    For t = 1 to 6
        For each o_Control in Me.Controls
            if o_Control.Name = "Txt_Config_ETATCIVIL" & cstr(t+1) Then
                o_Control.Text = Sheets("Config").cells(Ligne_Index, t).Value
                Exit For
            end if
        Next o_Control
    Next t

Cordialement,
 
Dernière édition:
Re : Boucle FOR imbriquées

Re

Comme il eut été pratique d'avoir une copie exemple pour tester !!!

Un autre essai:

Code:
Private Sub ComboBox_MAGASIN_Change()
'&&&&&&&&&&&&&&&&&   INITIALISE LES DONNEES DANS LA COMBOBOX &&&&&&&&&&&&&&&&&&&&
Dim u As Integer
Dim lettres As Variant
lettres = Array("A", "B", "C", "D", "E", "F")
For u = 2 To 7
  lettre = lettres(u - 2)
  Me.Controls("Txt_Config_ETATCIVIL" & u).Value = Sheets("Config").Range(lettre & ComboBox_MAGASIN.ListIndex + 6).Value
Next
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
910
Réponses
15
Affichages
784
Réponses
4
Affichages
733
Réponses
5
Affichages
573
Réponses
7
Affichages
538
Réponses
3
Affichages
332
Retour