Bonjour à toutes et à tous,

je viens vers vous afin de trouver un peu d'aide sur un code VBAexcel que je n'arrive pas à terminer. Je suis actuellement étudiante en physique et je n'ai que des bases en informatique et en codage VBA, mais voilà mon projet de semestre nécessite quelques traitements VBAexcel et j'avoue me sentir complètement perdue. J’espère qu'ici je pourrais trouver l'aide dont j'ai besoin pour enfin avancer.

Voilà ce que je veux faire :

Dans ma colonne M j'ai un temps écoulé (en seconde) qui va de 1s à 277s, sur les 277 premières lignes. Ensuite dans les lignes suivantes ce chiffre revient (1 a 277).
Pour chaque ligne dans la colonne C j'ai une coordonnée différente et dans la colonne F un poids.

J'aimerai que le code détecte toutes les lignes ou la même valeur en seconde est inscrite dans la colonne M, et qu'il me permette de faire la moyenne des coordonnées pour lesquels la valeur en seconde est la même et que celle ci soit pondérée par leur poids correspondant.


Ce que j'ai fais :

La pondération etant une difficulté supplémentaire j'ai déja essayé de faire sans pondération :


voila mon code :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Sub modulomoyenne()
 
 
Dim cell As Range
 
 
Dim Trouve As Double, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
 
 
 
 
Dim tpsi As Double
Dim rmsi As Double
Dim xi As Double
Dim tpsj As Range
Dim rmsj As Double
Dim k As Integer
Dim i As Integer
 
For i = 2 To 277
tpsi = Cells(i, 13)
xi = Cells(i, 3)
 
Valeur_Cherchee = tpsi
Set PlageDeRecherche = ActiveSheet.Range("M278:M416")
Set tpsj = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
k = Range(Valeur_Cherchee).Row
rmsj = cell(k, 7)
xj = cell(k, 3)
 
If tpsj Is Nothing Then
i = i + 1
Else
cell(i, 14) = (xi + xj)/2
i = i + 1
 
End If
 
 
Next i
 
 
End Sub

Problème :

Mon principal problème c'est que ok, il va me chercher la valeur de temps qui correspond mais moi j'aimerai connaître sa ligne pour que je puisse prendre la bonne cellule correspondante au coordonnées que je veux moyenner.



J'éspère vraiment que l'un d'entre vous pourra m'éclairer et je vous en remercie par avance.