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 :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci pour votre aide.
Partager