Boucle sur areas

Bonjour

J'essaie de boucler sur les areas, d'y appliquer des fonctions, et mettre le résutat dans un tableau

La procédure me donne le même résultat dans toutes les valeurs du tableau, alors que cela ne devrait pas être le cas

La c'est la fonction couleur, mais cela peut être une autre

De plus, je ne réussi pas, à écrire dans la première cas du tableau

Merci

Sub Union_Area_3()
Dim uRng As Range: Set uRng = [A1:J1,A2:J2,A3:J3]
Dim tblo()
ReDim tblo(uRng.Areas.Count + 1)
For i = 1 To uRng.Areas.Count - 1
For f = 1 To uRng.Areas.Count
tblo(f) = NbreCellulesCouleur(uRng.Areas(i), 6)
Next
Next

[O3].Resize(, UBound(tblo)) = tblo

End Sub

bonjour,
EDIT : faute interprétation

Bonjour,

c'est quoi ton pb au juste ? Ca répond bien 10 à chaque fois...

Ceci dit pourquoi 2 boucles imbriquée ? L'interne est réalisée plusieurs fois et retourne le même résultat à chaque fois puisqu'elle fait la même chose ?!?
De plus pas nécessaire de boucler sur les Areas ici. Tu peux boucler sur toutes les Cells de la plage complète.
Essaie dans une cellule :

=NbreCellulesCouleur($A$1:$J$3;8)

tu auras bien 10 encore
eric

Bonjour

Je pense avoir trouvé la solution, voir fichier et explications

"De plus pas nécessaire de boucler sur les Areas ici. Tu peux boucler sur toutes les Cells de la plage complète."

C'est justement ce que je ne veux pas faire areas =lignes

Vu mes maigres connaissances, j'essaie d'arriver là ou je veux, avec les moyens du bord

bonjour,

le problème majeur se trouve dans Function NbreCellulesCouleur, on doit ajouter ".Cells", autrement chaque Cellule sera un "Area" au lieu d'une "cellule".

For Each Cellule In Plage.Cells

et puis on a le choix entre areas ou lignes

Sub Union_Area_3()

     Dim uRng  As Range: Set uRng = [A1:J1,A2:J2,A3:J3]
     Dim Tblo(): ReDim Tblo(1 To uRng.Areas.Count)

     For f = 1 To uRng.Areas.Count
          Tblo(f) = NbreCellulesCouleur(uRng.Areas(f), 8)
     Next

     [O3].Resize(, UBound(Tblo)) = Tblo

End Sub

Sub Union_Rows_3()
     Dim uRng  As Range: Set uRng = [A1:J3]
     Dim Tblo(): ReDim Tblo(1 To uRng.Rows.Count)

     For i = 1 To UBound(Tblo)
          Tblo(i) = NbreCellulesCouleur(uRng.Rows(i), 8)
     Next

     [O3].Resize(, UBound(Tblo)) = Tblo

End Sub


Impeccable

merci

Rechercher des sujets similaires à "boucle areas"