1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
For Each colLetter In Array("E", "F", "G", "H", "I", "J", "K")
' je Réinitialise les tableaux et dictionnaires à chaque itération de collecter
Erase topNumbers
Erase bottomNumbers
Set dict = CreateObject("Scripting.Dictionary")
'--- je Boucle pour parcourir les lignes, année en cours
' Par exemple, pour l'année 1976 :
Debug.Print "Total pour:" & year; ":" & yearTotals(year) 'je vois l'année, en cours de traitement, et son nombre d'occurrence
' j'Effectues le traitement des données ici
' j'Effectue le traitement des données ici
For iRow = 5 To LastDataRowInColumn(colLetter)
' je Boucle pour parcourir les colonnes de E5 à K5; dans l'année en cours.. ---->( mes colonnes, sont biens alimentées, en valeurs )
j' Accéde à la cellule correspondante
Set cellnum = ws.Cells(iRow, LastDataRowInColumn(colLetter)) --------> ( c'est ici, que cela bloque, mon set ne fonctionne pas correctement, ceci-dit mes colonnes, sont bien restituées; et chaque itérations sont entreprises
If IsNumeric(cellnum.Value) And IsNumeric(cellnum.Offset(0, -4).Value) Then
If CInt(cellnum.Offset(0, -4).Value) = year Then
'je RempliS le dictionnaire avec les numéros et leurs occurrences
Dim num As Variant
num = cellnum.Value
If Not dict.Exists(num) Then
dict(num) = 1
Else
dict(num) = dict(num) + 1
End If
End If
End I
Next iRow |
Partager