[VBA] Parcourir une plage de cellule
Bonsoir,
Je souhaite créer une fonction qui effectue le traitement suivant :
MaFunction(plage,searchwhat,numcolonne)
Plage correspond à une plage de cellule et numcolone à un numéro de colonne contenant les valeurs dans la plage de cellules selectionnée.
serachwhat correspond à une clé à trouver dans la plage de données.
par exemple
VAR1 TOTO 4
VAR2 TITI 4
VAR3 TOTO 3
VAR1 FFF 2
VAR2 RRR 5
Ma fonction aura en paramètre la plage de cellule allant de VAR1 (en haut à gauche) à 5 en bas à droite et la valeur 3 correspondant à la 3eme colonne puisque c'est elle qui contient les valeurs.
le but est d'avoir à la sortie :
VAR1 6 (4+2)
VAR2 9 (4+5)
var3 3 (3)
J'ai donc crée une fonction qui devait lire une plage de donnée, repérer les valeurs de la plage et faire les somme des chiffres correspondant
peut être qu'avec les formule excel c'est possible mais je n'y arrive pas.
j'ai fait ceci :
Code:
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
|
Function grade2(PlageACopier As Range, what)
Dim numberofcellulle As Integer
numberofcellulle = PlageACopier.Count
Dim nb As Integer
nb = 0
Dim i As Integer
Dim j As Integer
For i = 0 To PlageACopier.Columns.Count
For j = 0 To PlageACopier.Rows.Count
Dim s As String
If s = PlageACopier.FormulaR1C1(i + 1, j + 1) Then
nb = nb + 1
End If
Next j
Next i
garde2 = nb
End Function |
mais mon "if" ne fonctionne pas, je ne parvient pas à récupérer les valeurs de mes cellules. Parfois je récupére la formule et ça ne me convient pas non plus. J'ai essayé Value à la place de FormulaR1C1 mais sans succés
Merci pour votre aide.