Parcourir des controls

Bonjour,

Je me demandais si il y avait une possibilite de rechercher un control (texbox, combobox ou autre) en l'appelant directement par son nom.

Je code actuelement quelquechose qui, en theorie, pourrait s'ecrire comme cela:

dim i, j, somme as integer 
i=11
somme =0
While "TextBox & i".value <> 0
   for j = 0 To 26
       if "Label & i". caption = tab_donnees(j, 0) Then
           somme = somme + tab_donnees(j, 1)
       end if
   Next
i=i+1
wend

La seule solution que j'ai trouve est de parcourir tous les controls et me donne un code que je trouve vraiment barbare (mais qui marche):

Dim somme As Double
somme = 0
For Each controll In UserFormFarben.Controls
    If TypeName(controll) = "TextBox" Then
        Dim a, b As Integer
        a = Mid(controll.Name, 8, 2)
        If a >= 11 And controll.Value <> 0 Then 'dans les textbox11 et superieures non nulles
            For Each controll2 In UserFormFarben.Controls
                If TypeName(controll2) = "Label" Then
                    b = Mid(controll2.Name, 6, 2)
                    If a = b Then 'dans le labelbox avec le meme numero que la textbox
                        For j = 0 To 26
                            If controll2 = tab_donnees(j, 0) Then 'compare avec ma base de donnee
                                somme = somme + tab_donnees(j, 1)
                            End If
                        Next
                    End If
                End If
            Next controll2
        End If        
    End If
Next controll

Est il donc possible d'ecrire quelque chose qui se rapproche de "texbox & i" pour pouvoir etudier tous les controls de mon userform plus facilement?

Merci d'avance

Bonjour

Sans support

Sub Test()
Dim i, j, somme As Integer
  i = 11
  somme = 0
  While Val(Me.Controls("TextBox" & i)) <> 0
     For j = 0 To 26
         If Me.Controls("Label" & i).Caption = tab_donnees(j, 0) Then
             somme = somme + tab_donnees(j, 1)
         End If
     Next
    i = i + 1
  Wend
End Sub

Je testerai cela demain mais je suppose que cela fonctionne.

Merci beaucoup!

Bonjour

poulu a écrit :

mais je suppose que cela fonctionne

Je ne peux le garantir, comme je ne sais pas ce que tu veux faire

Si pas ça, fournis un fichier avec ce que tu as et ce que tu veux

Apres test, ton code m'a donne exactement ce que je voulais.

merci beaucoup

Rechercher des sujets similaires à "parcourir controls"