Bonjour,
Je suis actuellement face à un problème que je n'arrive pas à résoudre :
J'ai dans une feuille de mon classeur des identifications de tronçons (dans l'exemple en PJ : Tron_01 jusqu'à 03) et dans une autre feuille des points composant ces tronçons avec leurs coordonnées x,y. Donc il y a plusieurs points par tronçons.
J'ai fais la moyenne des points par tronçon (qui correspond à la moyenne de chaque tronçon). Sauf que comme vous pouvez le voir dans l'exemple, il y a des fois où la moyenne se situe en début de tronçon et d'autre fois en fin de tronçon.
Ce que je souhaiterais faire, c'est, lorsque je suis dans la feuille 1, récupérer les moyennes qui sont dans la feuille 2 pour les mettre en face des bons tronçons.
Par exemple, dans le fichier joint, je veux en face du Tron_01 la moyenne x=1.26666 etc.
J'ai essayé de faire un simple RECHERCHEV, mais ça ne marche que quand la moyenne se situe en début de tronçon. Je pourrais manuellement remonter mes moyennes à chaque fois mais j'en ai plus de 1000 ce qui rend compliqué cette procédure.
J'ai donc essayé de créer une VBA de cette manière (en gros):
En gros : je clique sur le tronçon qui m'interesse dans la feuille 1, je lui dis de chercher dans la feuille 2 cet identifiant, et si la colonne des Xmoyen est vide, de descendre jusqu'à trouver la valeur et de l'écrire dans la case X de la feuille 1
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 Function Coordonne(texte As String) As Single i = 1 j= 2 Sheet("Feuil2").Select While Cells(i,j)<>texte i=i+1 Wend While Cells(i,j+3)="" i=i+1 Wend Coordonne = Cells(i,j+3) End Function
Est ce compréhensible ?
Si quelqu'un peut m'aider ça serait top !
Partager