Bonjour à tous,
Je ne sais pas si l'intitulé est assez clair mais je vais essayer d'éclaicir mon idée:
J'ai créer une function avec comme valeurs d'entrées:
1- longe : qui est la longueur totale de l'élément
2- raideur(variable tableau) : qui est la hauteur des couches ainsi que leur raideur
3- xetude: qui est l'abscisse d'etude qui est donné en fonction de longueur totale de l'élément donc en abscisse absolu.
A partir de ces données je veux faire:
A partir des valeurs de xetude qui sont absolues identifier dans quelle couche je suis et calcul xrel qui est l'abscisse relatif par rapport à la couche.
Exemple: sur la base des données ci-dessous
si xetude=8 je devrais avoir n°couche=1 et hcouche1=10 et xrel=8
si xetude=11 je devrais avoir N°couche=2 et hcouche2=5 et xrel=(xetude-hcouche1)=1
si xetude=18 je devrais avoir N°couche=3 et hcouche3=7 et xrel=(xetude-hcouche1-hcouche2)=3.
voir le rendu de ma function actuel
et le code est présenté ci-dessous:
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 Function decoupage(longe, raideur As Range, xetude) k = raideur(i, 2) h = raideur(i, 1) couche = 1 h1 = 0 n = 0.5 * Application.Count(raideur()) For i = 1 To n If h1 <= xetude And xetude <= h1 + raideur(i, 1) Then couche = couche hcouche = raideur(couche, 1) Else couche = couche + 1 h1 = h1 + raideur(i, 1) hcouche = raideur(couche, 1) End If Next i For i = 1 To n If couche = 1 Then xrel = xetude Else xrel = h1 - xetude End If Next i decoupage = Array(couche, hcouche, xrel) End Function
Merci de vos aides
Partager