probleme affectation de valeur
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:
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