Bonjour,
je n'utilise qu’occasionnellement vba pour mon travail, d'où probablement la nullité de mon problème, mais là je dois vous avouer que je sèche, et je commence à m'arracher les cheveux !
(et il ne m'en reste plus beaucoup...)

voici mon code, pourriez-vous m'aider à trouver la solution je vous prie ?

dans ThisWorkbook :

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
Public Sub typePoutrelle()
 
Dim ref As String
Dim i, N_torons, flag, N_E As Integer
Dim h, PHI_ss, PHI_si, PHI_sd, zss, zsi, Vrd_prov, Mrd_prov, EI500, EI200, alpha0, alpha1, beta As Double
Dim calcul, poutrelles As Worksheets
 
Set calcul = Worksheets("calcul")
Set poutrelles = Worksheets("poutrelles")
 
calcul.Activate
ref = calcul.Cells(2, 6).Value
N_E = calcul.Cells(23, 12).Value
 
poutrelles.Activate
 
For i = 6 To 24
    flag = StrComp(ref, poutrelles.Cells(i, 3).Value, CompareMethod.Text)
    If flag = 0 And poutrelles.Cells(i, 5).Value = N_E Then
        h = poutrelles.Cells(i, 11).Value
        N_torons = poutrelles.Cells(i, 12).Value
        PHI_ss = poutrelles.Cells(i, 6).Value
        PHI_si = poutrelles.Cells(i, 10).Value
        PHI_sd = poutrelles.Cells(i, 8).Value
        zss = poutrelles.Cells(i, 7).Value
        zsi = poutrelles.Cells(i, 9).Value
        Vrd_prov = poutrelles.Cells(i, 14).Value
        Mrd_prov = poutrelles.Cells(i, 13).Value
        EI500 = poutrelles.Cells(i, 15).Value
        EI200 = poutrelles.Cells(i, 16).Value
        alpha0 = poutrelles.Cells(i, 17).Value
        alpha1 = poutrelles.Cells(i, 18).Value
        beta = poutrelles.Cells(i, 19).Value
 
        calcul.Activate
 
        calcul.Cells(8, 6).Value = h
        calcul.Cells(27, 6).Value = N_torons
        calcul.Cells(9, 6).Value = PHI_ss
        calcul.Cells(12, 6).Value = PHI_si
        calcul.Cells(16, 6).Value = PHI_sd
        calcul.Cells(11, 6).Value = zss
        calcul.Cells(14, 6).Value = zsi
        calcul.Cells(18, 6).Value = alpha0
        calcul.Cells(19, 6).Value = alpha1
        calcul.Cells(20, 6).Value = beta
        calcul.Cells(70, 6).Value = Vrd_prov
        calcul.Cells(69, 6).Value = Mrd_prov
        calcul.Cells(71, 6).Value = EI200
        calcul.Cells(72, 6).Value = EI500
 
        Exit Sub
 
    End If
 
Next i
 
MsgBox ("référence non valide")
 
End Sub
Cordialement !
Etienne