J'ai 3 plages auxquelles j'ai associé 3 variables différentes (xPlage1, xPlage2, xPlage3)
Je voudrais simplement faire une boucle (1 à 3) et récupérer les différentes valeurs de ces plages.
Or, afin de faire cette boucle, je souhaitais affecter à une variable "lambda" le résultat des autres variables.
A savoir, dans ma boucle, quand :
- F=1 la variable "lambda" prendrait les données de xPlage1
- F=2 la variable "lambda" prendrait les données de xPlage2
- F=3 la variable "lambda" prendrait les données de xPlage3
Mais je n'y arrive pas.
Je vous joint un petit fichier qui explique tout ceci.
C'est juste pour apprendre et progresser.
Sub test()
Dim t(1 To 3) As Range, i As Long, xcell As Range
Set t(1) = [D5:H5]: Set t(2) = [D7:F7]: Set t(3) = [D9:I9]
For i = 1 To 3
For Each xcell In t(i)
xresult = xcell
Next xcell
Next i
End Sub
Sub test()
Dim t(1 To 3) As Range, i As Long, xcell As Range
Set t(1) = [D5:H5]: Set t(2) = [D7:F7]: Set t(3) = [D9:I9]
For i = 1 To 3
For Each xcell In t(i)
xresult = xcell
Next xcell
Next i
End Sub
Bonjour MaPomme,
Nickel, ça marche.
J'avais bien essayé avec le Set xPlage1=[D5:H5], mais je n'y arrivais pas.
Bien vu le coup du For Each, je me suis cantonné à ma boucle avec Ubound.
Je vais décortiquer ton code pour comprendre
Merci
@+ Lolote83
Sub test2()
Dim t(1 To 3), i As Long, j As Long
t(1) = [D5:H5]: t(2) = [D7:F7]: t(3) = [D9:I9]
For i = 1 To 3
For j = 1 To UBound(t(i), 2)
xresult = t(i)(1, j)
Next j
Next i
End Sub
Re bonjour et re merci.
J'étais en train d'essayer avec ce Ubound et tu m'apportes encore la solution.
Il va falloir que je bosse un peu les SET car je n'ai pas encore bien compris la portée.
Je vois bien la différence entre :
xPlage1=[D5:H5] et Set xPlage1=[D5:H5] mais je ne sais pas vraiment l'exploiter.
En me parlant je dirais : "Y a encore du boulot à faire mon petit "
Merci encore et à bientôt
@+ Lolote83