Bonjour a tous,
J'espere que cette question n'a pas ete deja posee, mais mes recherches sur le forum ne m'ont rien donne donc je me decide a vous poser la question.
Je dispose de quatre cellules qui vont de paire, B11-B12 et B15-B16.
B11 se calcule a partir de B15 et B16
B12 se calcule a partir de B15 et B16
B15 se calcule a partir de B11 et B12
B16 se calcule a partir de B11 et B12
J'aimerais que l'utilisateur puisse soit rentrer B11 et B12 pour calculer B15 et B16, soit faire le contraire.
Le probleme se complique puisqu'il y a des valeurs qui posent probleme donc il faut faire des cas particuliers.
Voici ce que j'ai essaye de faire, et qui me donne des problemes d'overflow quelle que soit la valeur que je donne:
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 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [B11]) Is Nothing Then If [B11] = 0 Then [B15] = 0 Else: [B15] = Atn(Cos(WorksheetFunction.Radians([B12])) * Tan(WorksheetFunction.Radians([B11]))) * Application.Pi() / 180 End If If Not Intersect(Target, [B15]) Is Nothing Then If [B15] = 0 Then [B11] = 0 Else: [B11] = Atn(Tan(WorksheetFunction.Radians([B16])) / Sin(Atn(Tan(WorksheetFunction.Radians([B16])) / Tan(WorksheetFunction.Radians([B15]))))) * Application.Pi() / 180 End If If Not Intersect(Target, [B12]) Is Nothing Then If [B12] = 0 Then [B16] = 0 Else: [B16] = Atn(Sin(WorksheetFunction.Radians([B12])) * Tan(WorksheetFunction.Radians([B11]))) * Application.Pi() / 180 End If If Not Intersect(Target, [B16]) Is Nothing Then If [B16] = 0 Then [B12] = 0 Else: [B12] = Atn(Tan(WorksheetFunction.Radians([B16])) / Tan(WorksheetFunction.Radians([B15]))) * Application.Pi() / 180 End If End Sub
Si vous avez des idees, suggestions, merci de votre aide!
Partager