Fonction de recherche

Fermé
Emi - Modifié le 1 juin 2017 à 14:45
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 2 juin 2017 à 11:51
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 :

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 Double
Dim rmsj As Double

For i = 2 To 277
tpsi = cell(i, 13)
xi = cell(i, 3)

Valeur_Cherchee = tpsi
Set PlageDeRecherche = feuille1.Range("M278:416")
Set tpsj = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)

If tpsj Is Nothing Then
i = i + 1
Else

<bold>cell(i, 14) = Average(cell(i,3):XXXXX)</bold>
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.
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
2 juin 2017 à 11:51
Bonjour

Un exemple montrant le principe de recherche des lignes de présence d'un mot dans une colonne en PJ

https://mon-partage.fr/f/WEbIB019/
0