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.
Partager