Bonjour,
j'ai un problème concernant l'affectation de valeurs. J'ai deux tableaux superposés (pj) et j'aimerai affecter les bonnes valeurs aux cellules soulignée en gras sur mon code que voici:



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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Dim U As Double, V As Double, W As Double
Dim Flag As Boolean
Dim X As Variant
Dim n As Byte
 
Dim myList As String, str As String
 
str = UserForm1.cboChoixSrce.Text
myList = ThisWorkbook.Worksheets("Config").Range("A2:A29").Find(str, LookIn:=xlValues, lookat:=xlWhole)
 
 
             If InStr(myList, cboChoixSrce.Text) Then
                  If cboTypParoi.Text = "Mur" Then
                      If cboNatParoi.Text = "Voile" Or cboNatParoi.Text = "Mitoyen" Then
                          If cboMatParoi.Text = "Béton dense" Then
                              V = 0.01 * cboEpaisMit
                              n = 2
                          ElseIf cboMatParoi.Text = "Béton léger" Then
                              n = 3
                          ElseIf cboMatParoi.Text = "Parpaings pleins" Then
                              n = 4
                          ElseIf cboMatParoi.Text = "Parpaings creux" Then
                              n = 5
                          ElseIf cboMatParoi.Text = "Brique pleine" Then
                              n = 6
                          ElseIf cboMatParoi.Text = "Brique creuse" Then
                              n = 7
                          ElseIf cboMatParoi.Text = "Pan de bois" Then
                              n = 8
                          ElseIf cboMatParoi.Text = "Pan de fer" Then
                              n = 9
                          ElseIf cboMatParoi.Text = "Moellon" Then
                              n = 10
                          Else
                              Flag = True
                          End If
                      Else
                          If cboNatParoi.Text = "Voile contre terre béton" Then
                              If cboMatParoi.Text = "Béton dense" Then
                                  V = 0.01 * cboEpaisMit
                                  n = 2
                              ElseIf cboMatParoi.Text = "Béton léger" Then
                                  n = 3
                              End If
                          End If
                      End If
                  Else
                     If cboTypParoi.Text = "Plancher" Then
                         If cboNatParoi.Text = "Dalle béton" Or cboNatParoi.Text = "Dalle béton sur poutrelle métallique" Or cboNatParoi.Text = "Dallage sur terre plein" _
                            Or cboNatParoi.Text = "Bac collaborant" Or cboNatParoi.Text = "Chape béton" Then
                                n = 14
                         ElseIf cboNatParoi.Text = "Plancher bois" Then
                                n = 19
                         ElseIf cboNatParoi.Text = "Poutrelle métallique" Then
                                n = 20
                         End If
                     End If
                  End If
              Else
                  Flag = True
              End If
 
If Not Flag Then
    With ThisWorkbook.Worksheets("Feuil2")
        U = .Range("B2").Value ''''''''''''''''''''''''''''''''''''''''''''''Masse volumique du béton
        X = .Range("B" & n & ":D" & n).Value
    End With
    W = 0.01 * cboEpaisParoi.Value
 
 
    With ThisWorkbook.Worksheets("Feuil3")
        If V > 0 Then
            .Range("I28").Value = V * X(1, 1) ''''''''''''''''''''''''''''''''Masse surfacique du mitoyen
            .Range("K28").Value = V
        End If
        .Range("J28").Value = W * X(1, 1) '''''''''''''''''''''''''''''''''''Masse surfacique de la paroi excitée
        If U <> 0 Then .Range("L28").Value = W * X(1, 1) / U ''''''''''''''''Epaisseur equivalente de béton
        .Range("N28").Value = X(1, 2) '''''''''''''''''''''''''''''''''''''''Vitesse longitudinale cL de la paroi excitée
       .Range("N29").Value = X(1, 2) '''''''''''''''''''''''''''''''''''''''Vitesse longitudinale cL du mur mitoyen
        .Range("H28").Value = X(1, 3) '''''''''''''''''''''''''''''''''''''''Facteur de perte interne teta0 de la paroi excitée
       .Range("H29").Value = X(1, 3) '''''''''''''''''''''''''''''''''''''''Facteur de perte interne teta0 du mur mitoyen
    End With
End If
 
End Sub
En effet je voudrais que le facteur de perte du mur soit donné par le tableau de la Feuil2 aux niveau des cellules cellules D2: D10 ( D2 à D10) et que celui de la paroi excitée soit donnée soit par les cellules D2: D10 de la Feuil2 s'il s'agit d'un mur ou D14: D20 s'il s'agit d'un plancher.
Même chose pour la vitesse longitudinale en C (C2 à C10 pour le mur et C14 à C20 pour le plancher).

Comment dois je modifier le code pour y arriver ?
De l'aide SVP
Merci